theano程式設計錯誤及解決方法
阿新 • • 發佈:2018-11-05
最近在做科研過程中,用到了theano符號計算框架,我在原有程式的基礎上做了改動,但程式一直報錯,而theano程式又比較難除錯,甚是糾結,在反覆測試了好久後才弄明白,故在這裡把它們記錄下來,以免自己以後可能陷入同一個“坑”。
(1)錯誤提示“UnboundLocalError: local variable ‘e0’ referenced before assignment”;
錯誤樣例:
import theano
from theano import tensor as T
sample = theano.tensor.vector()
W = theano.shared([[1,2,3], [4,5,6]])
values = theano.dot(sample, W)
gibbs10 = theano.function([sample], values)
print(gibbs10([1 ,1]))
解決辦法:theano.shared()函式的value屬性接收numpy.array型別的初始化資料,可先把列表資料強制轉換成np.array型別。
(2)錯誤提示“AsTensorError: (‘Variable type field must be a TensorType.’, ,
import theano
from theano import tensor as T
sample = theano.tensor.vector()
W = theano.shared([[1,2,3], [4,5,6]])
values = T.dot(sample, W)
gibbs10 = theano.function([sample], values)
print(gibbs10([1,1]))
解決辦法:同(1)。
(3)錯誤提示“CUDA driver version is insufficient for CUDA runtime version”;
錯誤原因:顯示卡驅動版本太低,不能滿足CUDA執行庫的版本要求;