1. 程式人生 > >theano程式設計錯誤及解決方法

theano程式設計錯誤及解決方法

  最近在做科研過程中,用到了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執行庫的版本要求;