Python 理解theano中的数据类型
我是新来的theano,我正在尝试在本地机器上重现代码的结果。当我按原样运行代码时,当我运行theano函数时(在[48]中),Python 理解theano中的数据类型,python,neural-network,theano,Python,Neural Network,Theano,我是新来的theano,我正在尝试在本地机器上重现代码的结果。当我按原样运行代码时,当我运行theano函数时(在[48]中),f_train和f_test会出现以下错误 TypeError:(“更新必须具有与原始共享变量相同的类型(shared_var=b_y,shared_var.type=TensorType(float32,vector),update_val=Elemwise{sub,no_inplace}.0,update_val.type=TensorType(float64,ve
f_train
和f_test
会出现以下错误
TypeError:(“更新必须具有与原始共享变量相同的类型(shared_var=b_y,shared_var.type=TensorType(float32,vector),update_val=Elemwise{sub,no_inplace}.0,update_val.type=TensorType(float64,vector))。”,“如果差异与广播模式有关,可以调用tensor.unboadcast(var,axis_to_unboadcast)[,…])函数删除可广播维度。“)
当我换行时:
b_y = numpy.zeros(shape=(10,), dtype="float32")
到
现在在我的.theanoc
中,我有floatX=float32
。我无法理解为什么会发生这种情况
此外,如果我将所有dtype=theano.config.floatX
更改为dtype=“float32”
,那么我也会得到相同的错误
请帮助我了解这里发生了什么。您的环境似乎有点混乱。如果不深入了解您的环境详细信息,我无法为您提供更好的解决方案;但每当我遇到此类问题时,我总是选择该代码环境的命令行标志。您可以在命令上运行代码时设置No的标志像这样的一行:
THEANO_FLAGS='floatX=float32,device=gpu0' python <myscript>.py
THEANO_FLAGS='floatX=float32,device=gpu0'python.py
详情如下:
希望这能有所帮助。您是否验证了您的
.theanoc
是否位于正确的位置并且实际正在加载?它位于我的主目录中。如果我没有弄错,它应该在那里。我正在使用Mac OXI。我不确定如何检查它是否正确加载。如果您打印theano.config.fl,您会得到什么输出oatX
或打印报告(theano.config.floatX)
?float32
用于第一个打印命令,而'float32'
用于第二个打印命令
THEANO_FLAGS='floatX=float32,device=gpu0' python <myscript>.py