Theano TensorType error



当我使用nollearn实现多标签分类时,我得到了这个错误:

'给名称为"/Users/lm/Documents/anaconda/lib/python2.7/site-packages/nolearn/lasagne/base.p/y:391"的ano函数的错误输入参数在索引1(0-based)', 'TensorType(float32, matrix)不能存储a在不损失精度的情况下,dtype为int64的值。如果你没有注意这个损失,您可以:1)显式地将数据强制转换为float32,或者2)在调用function时设置allow_input_downcast=True;Array([[0,0,0,…]), 0,0,1],

如错误消息所示,您需要将输入和输出转换为适当的类型(如果您不怕失去精度的话)。

input = input.astype(np.float32)
output = output.astype(np.float32)

应该工作

注意:即使你这样做,如果你有一个BatchIterator转换你的数据(无意中再次使用float64),错误可能仍然存在。解决方案是相同的:在BatchIterator内部,在返回数据之前将数据转换为float32

在我的情况下,我所做的只是将floatX标志(在[global]下)更改为.theanorc文件上的:

[global]
floatX = float64

:

[global]
floatX = float32

注意末尾的64被32取代了

相关内容

  • 没有找到相关文章

最新更新