Tensor(张量)
张量的维度(秩):Rank/Order
维度值 | 名称 | 维度值 | 名称 |
0 | 标量 | 3 | 3阶张量 |
1 | 向量 | ... | ... |
2 | 矩阵 | N | N阶张量 |
Tensor的属性:
A. 数据类型 dtype
例如:tf.float32,tf.int8/16/32,tf.uint8/16,tf.string,tf.bool,tf.complex64.....
B. 形状Shape
C. 其他
几种Tensor:
Constant【常量】、Placeholder【占位符】、Variable【变量】,SparseTensor【稀疏张量】。
tf.constant
例如:
1 import tensorflow as tf 2 3 tensor = tf.constant([1,2,3,4,5,6,7]) 4 const = tf.constant(3)
tf.Variable
示例:
1 var = tf.Variable(3) 2 3 var1 = tf.Variable(4, dtype=tf.int64)
tf.placeholder(tf.float32, shape=(1024, 1024))
tf.SparseTensor: indices【下标】、values【值】、dense_shape【形状】
稀疏张量,类似于线性代数中的“稀疏矩阵”。
《稀疏矩阵》:在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律的矩阵。
示例:
SparseTensor(indices=[ [0, 0],[1, 2] ], values=[1,2], dense_shape=[3, 4])
Tensor表示法:
类型 名字:索引 形状 数据类型
Tensor ( "Mul:0", shape=(), dtype=float32)
代码示例:
1 # -*- coding:UTF-8 -*- 2 3 #引入tensorflow 4 import tensorflow as tf 5 6 #创建两个常量Tensor 7 const1 = tf.constant([2, 2]) 8 const2 = tf.constant([[4], 9 [4]]) 10 11 multiple = tf.matmul(const1, const2) 12 13 #创建了Session(会话)对象 14 sess = tf.Session() 15 16 #用Session的run方法来实际运行multiple这个矩阵的乘法操作 17 result = sess.run(multiple) 18 19 #用print打印矩阵乘法的结果 20 print (result) 21 22 if const1.graph is tf.get_default_graph(): 23 print ("const1所在的图(Graph)是当前上下文默认的图 ") 24 25 #关闭已用完的Session(会话) 26 sess.close() 27 28 29 #第二种方法来创建/关闭Session 30 with tf.Session() as sess: 31 result2 = sess.run(multiple) 32 print ("Multiple的结果是 " % result2)