【发布时间】:2016-12-21 08:27:10
【问题描述】:
我有一个大小为 12 x 10 的矩阵和一个 document_length = [4,3,5] 的列表。前 4 行属于一个文档的句子,接下来的 3 行属于另一个文档,最后 5 行属于另一个文档。我需要通过以下方式获得一个大小为 15 x 10 的新矩阵或张量。
我需要插入一行零,这样,这里的最大文档长度为 5。因此,必须在第 5 个索引中插入 1 行零(因为第一个文档长度为 4)。然后在索引 9 和 10 处有 2 行零(第二个文档长度为 3),依此类推。如果问题令人困惑,请告诉我。
我有 12 x 10 给 GRU 或 LSTM ,但它必须是 3d 。要获得正确的 3D,我需要将 12 X 10 转换为 15 x 10 。有什么帮助吗?
【问题讨论】:
-
您的矩阵是否以 numpy 格式加载?
-
@martianwars - 实际上 12x10 是从 LSTM 获得的。输出是 12x10 numpy 数组。但是,由于它是一个 Tensor 内部,不能使用 numpy 索引。
-
您可能需要
tf.unpack()张量,然后在最终tf.pack()之前插入列表中。 TF 似乎没有insert函数 -
抱歉使用
stack/unstack因为pack已弃用 -
@martianwars - 尝试了很多东西,但无法成功。让我检查堆栈/取消堆栈
标签: python tensorflow lstm