TensorFlow的tf.reshape()函数

tf.reshape()

# 省略:
sess = tf.Session()
print(sess.run(...))
1. 把张量变为标量
tt1 =  tf.constant([7])
# reshape成标量
tt1_r = tf.reshape(tt1,[])
# output:7
2. 改变张量形状
# shape=(9,)
t1 =  tf.constant([1, 2, 3, 4, 5, 6, 7, 8, 9])
# reshape成(3,3)
t1_r = tf.reshape(t1, [3, 3])
# output:
#[[1 2 3]
# [4 5 6]
# [7 8 9]]

# shape=(2, 2, 2)
t2 = tf.constant( [[[1, 1], [2, 2]],[[3, 3], [4, 4]]] )
# reshape成(2, 4)
t2_r = tf.reshape(t2, [2, 4])
# output:
# [[1 1 2 2]
#  [3 3 4 4]]

2. 带有-1值时
# 平铺
# shape=(3, 2, 3)
t3 = tf.constant([[[1, 1, 1],
                  [2, 2, 2]],
                 [[3, 3, 3],
                  [4, 4, 4]],
                 [[5, 5, 5],
                  [6, 6, 6]]])
# reshape成(18,)
t3_r = tf.reshape(t3,[-1])
# output:[1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6]

# “未知值”功能
# reshape成(2, 9),9是reshape自己推测出来的。
t3_rr = tf.reshape(t3,[2, -1])
# output:
# [[1 1 1 2 2 2 3 3 3]
#  [4 4 4 5 5 5 6 6 6]]
# reshape成(2, 9),2是reshape自己推测出来的。
t3_rrr = tf.reshape(t3,[-1, 9])
# output:
# [[1 1 1 2 2 2 3 3 3]
#  [4 4 4 5 5 5 6 6 6]]
# reshape成(2, 3, 3),中间的3是reshape自己推测出来的。
t3_rrrr = tf.reshape(t3,[2, -1,  3])
# output:
# [[[1 1 1]
#  [2 2 2]
#  [3 3 3]]

# [[4 4 4]
#  [5 5 5]
#  [6 6 6]]]

注意,reshape的值中最多只能有一个-1出现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值