TF中的维度操作
1.tf.stack()和tf.unstack()
tf.stack()是一个矩阵拼接的函数,tf.unstack()则是一个矩阵分解的函数
a=tf.constant([1,2,3])
b=tf.constant([4,5,6])
c=tf.stack([a,b],axis=0)
d=tf.unstack(c, axis=0)
e=tf.unstack(c, axis=1)
with tf.Session() as sess:
print(sess.run(c))
print(sess.run(d))
print(sess.run(e))
结果为
[ [1 2 3]
[4 5 6] ]
[array([1,2,3]), array([4,5,6])]
[array([1,4]), array([2,5]), array([3,6])]
2.tf.tile() 用法
tile() 用于平铺,在同一维度上的复制
with tf.Graph().as_default():
a = tf.constant([1,2],name='a')
b = tf.tile(a,[3])
sess = tf.Session()
print(sess.run(b))
结果
[1 2 1 2 1 2]
with tf.Graph().as_default():
a = tf.constant([[1,2],[3,4]],name='a')
b = tf.tile(a,[2,3])
sess = tf.Session()
print(sess.run(b))
结果
[[1 2 1 2 1 2]
[3 4 3 4 3 4]
[1 2 1 2 1 2]
[3 4 3 4 3 4]]