2016-01-24 85 views
1

我写了一个python程序,在计算机上正确执行。但是,当我把它放在另一台计算机,它有这样一个问题:无法将Type TensorType(float64,matrix)转换为Type TensorType(float32,matrix)

TypeError: Cannot convert Type TensorType(float64, matrix) (of Variable <TensorType(float64, matrix)>) into Type TensorType(float32, matrix). 

有一个在代码没有错误,因为我可以在我的电脑正常运行。但是为什么在另一台电脑上有这样的问题呢?

回答

3

如果未明确指定theano张量的数据类型,则它将属性为theano.config.floatX,其中默认值可能因系统而异。

您在这里的错误通常来自使用dtype float64的numpy数组并尝试将其馈送到为float32(或者floatX == 'float32'或者您明确指定)构建的theano函数中。

对此的一种补救措施是在dtype的每个步骤中明确指出。如果你想在某个时候使用GPU,坚持float32是目前最好的。只需将每张张量和numpy数组声明为float32即可。

+0

谢谢你,你是对的 – hunter