第八节课
先定义一个二维矩阵:
接下来记录一些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))。老师也是在视频中演示了简单的例子的神经网络,虽然很多函数很多套路还不是很懂,但是大概能听懂一些了,按照一定的公式一定的函数进行计算,最后输出错误率,错误率越低,准确度越高,之后就会遇到了之前学过的过度拟合问题。