【发布时间】:2020-01-05 16:50:09
【问题描述】:
给定一个表单数组
array([list([21603, 125, 737, 579, 2065, 10399, 1175, 0, 0, 0]),
...
list([1896, 3917, 498, 296, 1452, 523, 754, 450, 3795, 341])],
dtype=object)
您如何准备它以供 TensorFlow 2.0 RC0 中的 Keras 模型使用?在当前形式下,它会抛出错误
ValueError: 无法将 NumPy 数组转换为张量(不支持的对象类型列表)。
而且我似乎无法以我熟悉的形式获得它,
array([[21603, 125, 737, 579, 2065, 10399, 1175, 0, 0, 0],
...
[1896, 3917, 498, 296, 1452, 523, 754, 450, 3795, 341]])
【问题讨论】:
-
向我们展示你是如何生成数组的
-
@FranciscoCouzo 这不是一个单独的问题吗? (“我怎么一开始就不到这里呢?”)
-
是的,但是从您的示例来看,似乎某些行的长度可能不同,您要么必须从一开始就创建一个张量,要么用零填充它
-
我的数据中的所有行都有相同数量的元素(我试图在我的示例中说明这一点,但数字的长度不同使其不明显),在示例中每个都有 10 items(第一行有 7 个项目,用 3 个 0 填充)。
-
@FranciscoCouzo 我收回这一点,你可能是对的。看起来我用来填充的代码不会截断长度超过最大长度的列表。现在对其进行测试,编码大约需要 15 分钟。如果可以将其表述为适当且有效的答案(“这有时表明数组元素的长度不同”),我将很乐意接受。
标签: python numpy tensorflow keras