tensorflow入门基础知识学习

之所以选择tensorflow作为深度学习的框架,是因为google在后面支持,更新比较快,学习者比较多,在遇到问题的时候,可以相互讨论,从而能够在学习上花的成本比较少。我选择了notebook作为开发工具,下面就对tensorflow基础入门的知识进行相应的总结:

查看tensorflow的版本

tensorflow入门基础知识学习


tensorflow和其他的语言有着不一样,在其他语言中,一些变量和常量,还有计算的操作都是一些实际的操作,而tensorflow这些都被作为图(graph)中的节点(Node).

tensorflow入门基础知识学习

其中,Const:0,是这个tensor的名称,shape=(),表示是标量,dtype=int32,表示其类型是int32.其并没有和相应的实际数值0关联起来。


tensorflow入门基础知识学习

在像计算图里面追加操作,并没有像其他语言一样会把其值覆盖,而是会在计算图里面新增加节点,现在a的名称已经变为Const_2:0


tensorflow入门基础知识学习

同样也以节点的方式操作


tensorflow入门基础知识学习

要使得得到的结果不是tensor,就需要用Session(),就是将计算图运行起来,得到结果。其关系就好比程序与进程之间的关系,进程就是程序的一次执行,计算图就是计算的流程,就类比程序;程序跑起来就类似于session();通过sess.run()把计算图真正的运行起来

tensorflow入门基础知识学习


当需要和外界进行数据交换的时候,不能只是用constant定义数据,不然怎么优化更新,需要用到Variable,placeholder

placeholder代表着从外界输入的数据,None代表了不确定的维度。

tensorflow入门基础知识学习

tensorflow入门基础知识学习

tensorflow入门基础知识学习

tensorflow入门基础知识学习


tensorflow入门基础知识学习

需要输出其值,需要在,sess.run()里面传入相应的参数。其对应的值不会作相应的改变,原因是train_step没有放在其sess.run()里面

tensorflow入门基础知识学习


在sess.run()里面循环迭代优化,相当于计算了100次,train_steps

tensorflow入门基础知识学习

tensorflow入门基础知识学习