python - 如何在 TensorFlow 中连接大小不等的张量?
问题描述
我有一个形状张量[64, 270]
(64 个批次 * 270 个项目),并且想在每个批次中添加相同的 200 个附加项目(一个形状张量[200]
)。结果应该是 64 个批次中的每一个都包含其原始的 270 个项目以及每个批次相同的 200 个新项目。
基本上concat([64, 270], [200])
-->[64, 470]
我怎样才能做到这一点?我尝试使用tf.concat
,来tf.stack
增加第二个张量的等级,tf.expand_dims
但没有任何效果。它总是抱怨不等的等级或不等的第零(批次)维度。
解决方案
你可以试试,
tf.concat([x,tf.tile(y[None,...],[tf.shape(x)[0],1])], axis=1)
代码:
x = tf.placeholder(tf.float32,[None,270])
y = tf.placeholder(tf.float32, (200))
z = tf.concat([x,tf.tile(y[None,...],[tf.shape(x)[0],1])], axis=1)
with tf.Session() as sess:
print(sess.run(z, {x:np.random.normal(size=(64,270)), y:np.random.normal(size=(200))}).shape)
# (64, 470)
推荐阅读
- java - 无法使用多个条件获取 JsonElement 数据
- python - Click 是否支持将短选项“捆绑”在一起?
- postgresql - 如何在docker中连接到postgresql
- ios - UICollectionViewCompositionalLayout 最小项目大小
- python - 如何随机选择一个人 discord.py
- c# - 在 ASP.NET Core MVC 中使用 RabbitMQ
- ruby-on-rails - 在 Rails 6 API 中将图像附加到模型
- python-3.x - 当 x 轴值随实时数据增加时,使用 matplotlib 条形图动态更改绘图大小
- nstableview - 选择状态关闭时,NSTableRowView 没有响应 setNeedsDisplay
- java - 我们如何在 Android Java 的 RecyclerView 中检索 uid 用户名和 uid 用户子值?