神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)代碼調(diào)試network3-蛋疼的theano版本與gcc、g++版本問題

1)我們現(xiàn)在利用pip install Theano安裝的theano版本為0.9,而書中用的是0.6,即使用的網(wǎng)上的python3.5版本的代碼,有一處導(dǎo)包的地方也會非常蛋疼,這點要感謝spyder的代碼提示功能,不然網(wǎng)上太難查了,不是能力問題,天朝停止了vpn,google上不了了,就從這點可以看出在國外做研究要比國內(nèi)有優(yōu)勢得多。

導(dǎo)包問題:原文中的network3.py中

? ? ? #from theano.tensor.signal.pool import downsample

? ? ? ?需換成

? ? ? ?from theano.tensor.signal.pool import pool_2d

? ? ? ?相應(yīng)的代碼部分:

? ? ? ?# pooled_out = downsample.max_pool_2d(

? ? ? ? 換成

? ? ? ? pooled_out = pool_2d(

原因是theano 0.9中的dowmsample沒有了,并且max_pool_2d沒有了。

2)gcc/g++版本問題,我安裝的是ubuntu 16.4,內(nèi)置的gcc和g++都是5.4版本,太新了,此時會報錯:

ImportError: /root/.theano/compiledir_Linux-4.8--generic-x86_64-with-debian-stretch-sid-x86_64-3.5.2-64/tmpn_1ihp82/m4b532c190111acd0c7b4d992f1ab7bc1.so: undefined symbol: _ZNSt8ios_base4InitD1Ev

此時需要重新安裝版本的gcc和g++:重點參考這點《http://blog.csdn.net/lyy14011305/article/details/63685779》

執(zhí)行更新

sudo ?apt-get update

安裝舊版本的GCC

sudo apt-get ?install gcc-4.8

sudo apt-get ?install g++-4.8

刪除原來的GCC、G++連接

?sudo rm gcc

sudo rm g++

使連接指向新版本的gcc、g++

sudo ln -s gcc-4.8 gcc

sudo ln -s g++-4.8 ?g++

驗證:使用gcc -v、g++ -v查看當(dāng)前的gcc、g++版本

如果替換回來可以使用同樣的方式操作使其指向想要的版本。

which gcc 顯示當(dāng)前gcc版本所在的目錄

gcc 和g++一般在/usr/bin下。所以使用cd /usr/bin/ 進入該文件目錄;使用ls -al | grep gcc查看當(dāng)前系統(tǒng)中所有的gcc


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容