Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我怎样才能绕过Keras pad_sequences()将浮点值舍入为零?_Python_Numpy_Keras_Lstm_Text Classification - Fatal编程技术网

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

Python 我怎样才能绕过Keras pad_sequences()将浮点值舍入为零?,python,numpy,keras,lstm,text-classification,Python,Numpy,Keras,Lstm,Text Classification,所以我用Keras建立了一个文本分类模型。我一直在尝试填充不同长度的序列,但是Keras函数pad_sequences()刚刚返回了零 我发现如果你有一个像下面这样的numpy数组,它就可以正常工作。但一旦元素变成浮点数或小数,就像第二个数组一样,它就变成了零 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

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

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

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]]
[[ 0  0  0  0]
 [ 0  0  0  0]
 [ 0  0  0  0]
 [ 0  0  0  0]]
[[ 0  0 99 99]
 [ 0  0  0 99]
 [ 0 99 99 99]
 [ 0  0  0  0]]
但是

产出:

[[ 1  2  0  0]
 [ 3  4  5  0]
 [ 4  0  0  0]
 [ 7  8  9 10]]
[[ 0  0  0  0]
 [ 0  0  0  0]
 [ 0  0  0  0]
 [ 0  0  0  0]]
[[ 0  0 99 99]
 [ 0  0  0 99]
 [ 0 99 99 99]
 [ 0  0  0  0]]
这是:

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

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

所以我猜这个函数忽略了浮点数/小数。有什么办法可以解决这个问题吗?

这是因为
pad\u sequences
函数中考虑的默认数据类型是
int32
。因此,所有值都将强制转换为整数(在本例中为零)。要解决此问题,请传递
dtype='float32'
参数:

pad_sequences(x, padding='post', value=99, dtype='float32')
我得到“TypeError:‘float’对象不能解释为整数”。keras处理浮点还是此函数仅用于整数?