首页 > 解决方案 > 将张量从较小的形状平铺到较大的形状

问题描述

我有一个形状为 (1,4,4,1) 的张量,我想重复此操作并将形状增加到 (1,28,28,1)。我想在每个维度上重复它。

标签: tensorflow

解决方案


您可以使用 tf.tile。这是一个带有一些较小张量的示例:

a = tf.constant([[[[1],[2]],[[3],[4]]]])
print(a.shape) # (1, 2, 2, 1)
b = tf.tile(a, [1,3,3,1])
print(b.shape) # (1, 6, 6, 1)

with tf.Session() as sess:
    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]]
        #   [[1] [2] [1] [2] [1] [2]]
        #   [[3] [4] [3] [4] [3] [4]]]]

推荐阅读