python - 如何将“对象”的 dtype 更改为 float32?
问题描述
我实际上是在尝试编写 Keras 模型。在我看来,keras 模型需要一个 np.arrays 列表作为 x (或 Numpy 数组)。在我的情况下 x 看起来像这样:
print(training.dtype)
目的
print(training.shape)
(406,)
print(training[0].dtype)
浮动64
print(training[0].shape)
(5140, 5)
这是我的训练数据 (x) 的大小。如果我想训练模型,我会收到此错误:
返回数组(a,dtype,copy=False,order=order)
ValueError:使用序列设置数组元素。
这就是为什么我认为,我准备的数据是错误的。如果我想用 .astype 将它们转换为 float32,我会得到同样的错误。
谢谢你的帮助!
解决方案
如果中的条目train2
大小不同,则需要填充它们。由于这是需要定期完成的事情,Keras 为此提供了一个功能:pad_sequences
一旦它们都具有相同的大小,np.array(train2)
将创建一个可以传递给的单个 numpy 数组model.fit()
。
根据您的型号,您以这种方式添加的额外数据可能会或可能不会成为问题。处理此问题的常用方法是Masking。使用它来生成一个掩码,该掩码将自动传递给模型,以便忽略某些值(您通过填充添加的值)。但是请注意,并非所有图层都支持遮罩,因此这可能不适合您。
推荐阅读
- python - 如何在模型拟合中使用加权损失函数
- r - 将整数作为时间切割成 15 分钟间隔
- javascript - 如何在javascript中按类名排序div循环
- javascript - JavaScript.JQuery 切换和淡入
- datetime - 如何根据入口开始停止时间启动/停止功能
- image - CNN、模型拟合或过拟合中的验证损失显着减少?
- javascript - 使用按钮更新图表和文本 (D3.js)
- ebpf - 是否可以构建分段的 Ipv4 数据包,并在 xdp / ebpf 程序中检测泪滴攻击?
- flutter - 在 ListTile 标题中添加多个项目的正确语法?
- javascript - 当 SVG 中有足够的空间时,为什么要将图表压缩到一个框中?