【发布时间】:2020-07-27 08:24:06
【问题描述】:
我有一个包含 10 个元素的列表,这些元素具有这些形状 [(1, 13),(2, 13),(2, 13),(13, 13),(4, 13),(5, 13),(5, 13),(6, 13),(2, 13),(8, 13)]。列表中的每个元素都是二维的,例如列表的第一个元素是 array([[0. , 0. , 0.33, 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.67, 0. , 0. ]])
我想用dimensions(10,?,13) 将此列表转换为三维数组,但问题是第二维不是一个固定的数字,它会因每种情况而改变。有没有办法做到这一点?
我必须将这个三维输入输入到我的 Keras 模型中。
【问题讨论】:
-
如果它取决于形状,例如,您可以使用其键作为形状和第二维之间的元组映射来制作字典。此外,我想说这在很大程度上取决于您实现您称为代码的“案例”的难易程度。每种情况都取决于形状吗?是否可以仅使用形状作为输入来生成第二维(例如
Dict[tuple, Callable]类型的字典)? -
试着再澄清一下你对第二维度的需求,答案真的取决于它。如果您需要 3d 数组包含每个 2d 数组一次并留下一些空间,那么第 2 维只需要 13。如果您需要重复每个 2d 数组以填充 3d 数组而没有剩余空间,那么第 2 维尺寸必须为 1560。
-
我的列表实际上是句子列表,列表中包含每个单词的一些值,因此每个单词都是 1x13。如果一个句子是 5 个单词,那么这将是 5x13 的形状。所以这一切都取决于每个句子中的单词数量并有所不同。
标签: python tensorflow multidimensional-array