tensorflow张量维度操作

1350阅读 0评论2020-04-14 wwm
分类:Python/Ruby

注意区别和numpy,tf中shape-1不能用于维度。None 常量和变量中不能用,只能用在占位符
但是tf.reshape可以用-1,表示不确定多个,比如
x5 = tf.constant(0,shape=[2,3,5], dtype=tf.float32)
x6 = tf.reshape(x5,[-1,5])


#标量
x = tf.constant(-3.0, dtype=tf.float32)
print x
Tensor("Const:0", shape=(), dtype=float32)

#标量
x1 = tf.constant(-3.0,shape=[], dtype=tf.float32)
print x1
Tensor("Const_1:0", shape=(), dtype=float32)

#向量
x2 = tf.constant(-1,shape=[4], dtype=tf.float32)
print x2
Tensor("Const_2:0", shape=(4,), dtype=float32)

#向量
x4 = tf.constant(-1,shape=[4,], dtype=tf.float32)
print x4
Tensor("Const_3:0", shape=(4,), dtype=float32)
注意向量不可表示为shape=[,4]

#矩阵
x5 = tf.constant(-1,shape=[4,5], dtype=tf.float32)
print x5
Tensor("Const_4:0", shape=(4, 5), dtype=float32)


#变量标量
v1 =  tf.get_variable("aa", [], initializer=tf.truncated_normal_initializer(stddev=0.1))
print v1




#变量向量
v2 =  tf.get_variable("aa2", [2], initializer=tf.truncated_normal_initializer(stddev=0.1))
print v2




#变量向量
v3 =  tf.get_variable("aa3", [2,], initializer=tf.truncated_normal_initializer(stddev=0.1))
print v3




#变量矩阵
v4 =  tf.get_variable("aa4", [2,5], initializer=tf.truncated_normal_initializer(stddev=0.1))
print v4




#占位符,运行时候确定维度。所以可用None, 注意常量和变量不可以。
y = tf.placeholder(tf.float32, [None, 5], name='y-input')
print y
Tensor("y-input:0", shape=(?, 5), dtype=float32)


上一篇:tf.train.Saver() 与tf.train.import_meta_graph区别
下一篇:python开发环境traceback