再战tensorflow

  第八节课

        先定义一个二维矩阵:

            

 

        接下来记录一些tensorflow的一些函数和作用:

            1、tf.rank(arr).eval()   查看矩阵维度

            2、tf.shape(arr).eval()  查看矩阵有几行几列

            3、tf.argmax(arr,0).eval()   求索引,他的结果表示的是每一列最大的数是第几个(从0开始,上图的二维矩阵就是0~5,每列6个数)

            4、tf.argmax(arr,1).eval(),求索引,求每行最大的数,同样是从0开始。

            5、tf.equal(a,b)  比较a,b是否一样,返回类型为布尔类型。

            

         随后的两节举了老师口中的“简单例子”,然而我没听太懂,总之就是3个参数,一个测试,一个训练,一个输出,在按照tensorflow封装好的几个函数和一些算法的计算后,逐渐进行运算,2层的神经网络就是逐级运算,最后输出结果,计算出一个cost值,逐渐变小,准确率逐渐增大。

       

   卷积神经网络:

          思维导图:

                              

 

         权重项初始化:

              

 

               3是w和h,1是深度,分成64块,第二行接受64块,分成128块,第三行的7是由28×½×½后得到的(因为是n×728的,所以是28×28像素的,深度是2,乘2次½),再乘以128块,最后形成自己规定的1024的向量输出。  

        偏置项初始化:

              

 

                 分别对应上面的64份,128份和1024份向量输出 

    横向学习:

          因为前面没看太懂,我又去找了其他平台的tensorflow的视频,重新看了一下很多知识点,大概有了一个思路,一共分为三层,一个是输入层,输入数据,一个是隐藏层,隐藏了数据的处理和选择处理的方式等等,第三层输出层,按照要求输出,还有数据的可视化展示用到了matplotlib,其中曲线的不断变化达到最佳要用到plt.ion()(Python3.5以后的版本,3.5以前的:pli.show(black=false))。老师也是在视频中演示了简单的例子的神经网络,虽然很多函数很多套路还不是很懂,但是大概能听懂一些了,按照一定的公式一定的函数进行计算,最后输出错误率,错误率越低,准确度越高,之后就会遇到了之前学过的过度拟合问题。

posted on 2021-02-23 00:50  王玉昙  阅读(33)  评论(0编辑  收藏  举报

导航