此博客来自假期期间,针对之前接触的TensorFlow又进行了一些项目实践学习,主要总结下一些当时没理解好的概念和项目中的技巧。
学习来源自何之源的《21个项目玩转深度学习》基于TensorFlow。
- TensorFlow中的Tensor.
Tensor 并不是具体的数值,它是我们“希望”TensorFlow计算的“节点”。Tensor可以理解成为一个多维矩阵。 - placeholder(占位符)和Variable(变量)
在TensorFlow中,无论是占位符还是变量它们都是Tensor。然而,它们是不同类型的。占位符不依赖于其它的Tensor,其通常用来存储样本数据和标签。Variable(变量)是指在计算过程中可以改变的值,每次计算后变量的值会被保存下来,通常用变量来存储模型的参数。 - 构造完loss,更新参数(梯度下降法),一般需要创建一个会话(Session),就相当于是一个程序的启动图标一样,然而有了图标,我们要开始设置里面具体链接的每个部分,以保证它可以正确的运行。在Session中对变量进行初始化操作。
- TensorFlow读取文件的形式采用“文件名队列+内存队列”的形式,更具体的说,就是先写入一个要读取的文件名单,然后通过队列的形式读入“。这么做的好处也可以解决GPU计算时,因为I/O而空闲的问题(CPU读取数据时,GPU空闲)。
- 数据读入的三种方法:利用placeholder读入;用队列的形式建立文件到Tensor的映射;用Dataset API读入数据。