有没有一种方法可以重塑Tensor并用零填充任何溢出?我知道ndarray.reshape可以做到这一点,但据我所知,将Tensor转换为ndarray需要在GPU和CPU之间进行翻转。
Tensorflow的reshape()文档说TensorFlow需要有相同数量的元素,所以也许最好的方法是pad()然后reshape()?
我在努力实现:
a = tf.Tensor([[1,2],[3,4]])
tf.reshape(a, [2,3])
a => [[1, 2, 3],
[4, 0 ,0]]
2条答案
按热度按时间hfwmuf9z1#
据我所知,没有内置的操作符可以做到这一点(如果形状不匹配,
tf.reshape()
将给予错误)。但是,您可以使用几种不同的操作符来实现相同的结果:njthzxwz2#
Tensorflow现在提供了pad函数,它以多种方式对Tensor执行填充(如opencv2的数组填充函数):https://www.tensorflow.org/api_docs/python/tf/pad
从上面的docs示例: