加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 由于Theano和NumPy变量类型而出错

发布时间:2020-12-16 22:58:36 所属栏目:Python 来源:网络整理
导读:我正在使用numpy 1.9和最新版本的Theano编写此代码,但是我收到了一个我无法解决的错误.我怀疑它可能是我声明变量类型的方式,但我无法解决它.我感谢你的建议.我想用矢量生成矩阵,并用偏差求和. import theano.tensor as Tfrom theano import functionimport n
我正在使用numpy 1.9和最新版本的Theano编写此代码,但是我收到了一个我无法解决的错误.我怀疑它可能是我声明变量类型的方式,但我无法解决它.我感谢你的建议.我想用矢量生成矩阵,并用偏差求和.
import theano.tensor as T
from theano import function
import numpy as np
import pprint
def test_theano_matrix():
   pp = pprint.PrettyPrinter(indent=3)
   W= T.fmatrix()
   x=T.fvector()
   b= T.fvector()
   y = T.dot(W,x) + b
   lin_func = function([W,x,b],y)
   dt = np.dtype(np.float)
   w_inp = np.matrix('1 0;0 1',dtype=dt)
   x_inp = np.matrix('2;1',dtype=dt)
   b_inp = np.matrix('0;0',dtype=dt)
   lin_func(w_inp,x_inp,b_inp)

 if __name__ == '__main__':
   test_theano_matrix()

我收到以下错误:

raise TypeError(err_msg,data)
TypeError: ('Bad input argument to theano function at index 0(0-based)','TensorType(float32,matrix) cannot store a value of dtype float64 without risking loss of precision. If you do not mind this loss,you can: 1) explicitly cast your data to float32,or 2) set "allow_input_downcast=True" when calling "function".',matrix([[ 1.,0.],[ 0.,1.]]))

谢谢你的时间!

解决方法

我有一个类似的错误,并能够通过添加包含以下两行的.theanorc文件来解决它:
[global]

floatX = float32

这似乎解决了一切.但是,您的问题显示略有不同的错误.但我认为这值得尝试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读