gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 22:26:26 26 4
gpt4 key购买 nike

我正在使用 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

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

关于python - 由于 Theano 和 NumPy 变量类型而出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com