gpt4 book ai didi

python - 我怎样才能绕过 Keras pad_sequences() 将浮点值四舍五入为零?

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:04 26 4
gpt4 key购买 nike

所以我有一个用 Keras 构建的文本分类模型。我一直在尝试填充不同长度的序列,但 Keras 函数 pad_sequences() 刚刚返回了零。

我发现如果您有一个像下面这样的 numpy 数组,它就可以正常工作。但是一旦元素像第二个数组一样变成 float 或小数,它就会变成零。

x = [[1, 2], [3,4,5], [4], [7,8,9,10]]
print pad_sequences(x, padding='post')

输出:

[[ 1  2  0  0]
[ 3 4 5 0]
[ 4 0 0 0]
[ 7 8 9 10]]

但是

x = [[.1, .2], [.3,.4,.5], [.4], [.7,.8,.9,.010]]
print pad_sequences(x, padding='post')

输出:

[[ 0  0  0  0]
[ 0 0 0 0]
[ 0 0 0 0]
[ 0 0 0 0]]

还有这个:

x = [[.1, .2], [.3,.4,.5], [.4], [.7,.8,.9,.010]]
print pad_sequences(x, padding='post', value=99)

输出:

[[ 0  0 99 99]
[ 0 0 0 99]
[ 0 99 99 99]
[ 0 0 0 0]]

所以我猜这个函数只是忽略了 float /小数。我有办法解决这个问题吗?

最佳答案

这是由于pad_sequences函数中考虑的默认数据类型是int32造成的。因此,所有值都将转换为整数(在本例中变为零)。要解决此问题,请传递 dtype='float32' 参数:

pad_sequences(x, padding='post', value=99, dtype='float32')

关于python - 我怎样才能绕过 Keras pad_sequences() 将浮点值四舍五入为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com