tensorflow是一个开源软件库,用于使用数据流图进行数值计算。图中节点表示数学运算,图边表示在它们之间传递的多维数据数组。
该库包括各种功能,使你可以实现和探索用于图像和文本处理的前沿卷积神经网络和循环神经网络RNN架构。由于复杂计算以图形形式表示,tensorflow可用作一个框架使你轻松开发自己的模型,并在机器学习领域使用它们。
1.tensorflow主要数据结构——张量
张量是数学领域的概念,被开发为向量和矩阵的线性代数项的泛化。tensorflow中一个张量就是一个张量类的实例,是绑定了相关运算的一个特定类型的多维数组。
1.1创建新张量
1.2处理计算工作流——tensorflow的工作流图
数据流图构建实例
其中,tf.placeholder创建特定的feed操作的方法。(tensorflow提供了一种将张量直接注入到图内任何操作中的数据供给feed机制,用张量值临时替换操作的输出,将feed的数据作为参数传入run函数。feed只在调用它的方法内有效。)
1.4基本张量方法
1.4.1简单矩阵运算
约简-跨维度张量操作,计算结果比原来的张量少一个维度。
张量分割--张量一个维度减小的过程,所得元素由索引行确定。
1.4.2序列
argmin argmax listdiff显示列表之间交集的补码 where unique去除列表重复元素
1.4.3张量形状变换
添加/删除维度 eg:squeeze expand——dims ……
张量切片和连接 slicing and joining--省下很多不必要的内存开销
添加填充add padding 打包pack 解包unpack
1.4.4数据流结构和结果可视化tensorboard
1)添加汇总节点--tensorflow会话中的汇总,都是由SummaryWriter对象写入
(2)常见汇总操作
这是不同的汇总类型的列表,和它们构造函数的参数
tf.scalar_summary(tag, values, collections=None, name=None)
tf.image_summary (tag, tensor, max_images=3, collections=None, name=None)
tf.histogram_summary(tag, values, collections=None, name=None)
(3)特殊汇总功能
这些是特殊汇总函数,用于合并不同操作的值
1.5从磁盘读取信息
1.5.1csv
有点复杂~
a.创建一个文件名队列对象与我们将使用的文件列表,然后创建一个text line reader。利用这个行读取器,剩余操作是解码csv列兵将其保存于张量。如果我们想把同质数据混在一起,可使用pack方法。
1.5.2读取、加载、处理、保存图像
(只支持jpg png)
1.5.3读取标准tensorflow格式