TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)
函数。
- input:输入,tensor类型
- dim:增加维度的位置,比如:0表示在input的第一维增加一维,shape(a)=[2,3],操作之后数据维度为[1,2,3]。如果是1,shape=[2,1,3]
- name:操作的名称(可选)。
import tensorflow as tf
sess=tf.InteractiveSession( )
a = tf.constant([1,2,3,4,5,6], shape=[2, 3])
b=tf.expand_dims(a,0)
c=tf.expand_dims(a,1)
d=tf.expand_dims(a,2)
e=tf.expand_dims(d,3)
print(sess.run(a))
print(sess.run(tf.shape(a)),"\n")
print(sess.run(b))
print(sess.run(tf.shape(b)),"\n")
print(sess.run(c))
print(sess.run(tf.shape(c)),"\n")
print(sess.run(d))
print(sess.run(tf.shape(d)),"\n")
print(sess.run(d))
print(sess.run(tf.shape(d)),"\n")
输出结果:
[[1 2 3]
[4 5 6]]
[2 3] #a的维度
[[[1 2 3]
[4 5 6]]]
[1 2 3] #dim=0,输出结果维度
[[[1 2 3]]
[[4 5 6]]]
[2 1 3] #dim=1,输出结果维度
[[[1]
[2]
[3]]
[[4]
[5]
[6]]]
[2 3 1] #dim=2,输出结果维度
[[[1]
[2]
[3]]
[[4]
[5]
[6]]]
[2 3 1] #dim=3,输出结果维度