张量
张量的阶和数据类型:
Tensorflow基本的数据格式
一个类型化的N维度数组(tf.Tensor)
三部分,名字,形状,数据类型
张量的阶
张量的数据类型
张量的属性:
graph 张量所属的默认图
op 张量的操作名
name 张量的字符串描述
shape 张量形状
张量的动态形状与静态形状
TensorFlow中,张量具有静态形状和动态形状
静态形状:
创建一个张量或者由操作推导出一个张量时,初始状态的形状
tf.Tensor.get_shape:获取静态形状
tf.Tensor.set_shape():更新Tensor对象的静态形状,通常用于在不能直接推
断的情况下
动态形状:
一种描述原始张量在执行过程中的一种形状
tf.reshape:创建一个具有不同动态形状的新张量
重点:
1、转换静态形状的时候,1-D到1-D,2-D到2-D,不能跨阶数改变形状
2、 对于已经固定或者设置静态形状的张量/变量,不能再次设置静态形状
3、tf.reshape()动态创建新张量时,元素个数不能不匹配
张量操作-生成张量
#全部为0的三行四列
cc=tf.zeros([3,4],tf.float32)
创建随机张量:stddev是标准差
正态分布
概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ
决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
相关特性:
张量操作-张量变换
tf.cast()万能转换
切片与扩展
tf.concat(values, axis, name=‘concat’)把相同数据进行拼接
提供给Tensor运算的数学函数
https://www.tensorflow.org/versions/r1.0/api_guides/python/math_ops
算术运算符
基本数学函数
矩阵运算
减少维度的运算(求均值)
序列运算
# tensorflow:打印出来的形状表示
# 0维:() 1维:(5) 2维:(5,6) 3维:(2,3,4)
# 形状的概念
# 静态形状和动态性状
# 对于静态形状来说,一旦张量形状固定了,不能再次设置静态形状, 不能夸维度修改 1D->1D 2D->2D
# 动态形状可以去创建一个新的张量,改变时候一定要注意元素数量要匹配 1D->2D 1->3D
#
# plt = tf.placeholder(tf.float32, [None, 2])
#
# print(plt)
#
# plt.set_shape([3, 2, 1])
#
# print(plt)
#
# # plt.set_shape([2, 3]) # 不能再次修改
#
# plt_reshape = tf.reshape(plt, [3, 3])
#
# print(plt_reshape)