我有一个1D张量,我想堆叠/打包/平铺成2D张量y=[a, a, a].如果我知道我想重复多少次,我可以tf.tile一起使用reshape.
但我不这样做,因为尺寸取决于批量大小.占位符值None不是有效输入.我知道tf.slice一个人可以输入-1并让tensorflow弄明白,但我不知道tensorflow如何推断出正确的大小.我确实有一个x形状相同的张量y,但我没有看到一个tile_like函数.
有什么建议?
小智 15
您可以使用tf.shape查找张量的运行时形状,并将其用作参数的基础tf.tile:
import tensorflow as tf
import numpy as np
x = tf.placeholder(tf.float32, shape=[None, 3])
y = tf.tile([2, 3], tf.shape(x)[0:1])
sess = tf.Session()
print(sess.run(y, feed_dict={x: np.zeros([11, 3])}))
Run Code Online (Sandbox Code Playgroud)
我验证了此代码适用于Tensorflow 1.0发布候选版.希望有所帮助!
| 归档时间: |
|
| 查看次数: |
4826 次 |
| 最近记录: |