神经网络与深度学习代码调试network3-蛋疼的theano版本与gcc、g++版本问题

1)我们现在利用pip install Theano安装的theano版本为0.9,而书中用的是0.6,即使用的网上的python3.5版本的代码,有一处导包的地方也会非常蛋疼,这点要感谢spyder的代码提示功能,不然网上太难查了,不是能力问题,天朝停止了vpn,google上不了了,就从这点可以看出在国外做研究要比国内有优势得多。

导包问题:原文中的network3.py中

      #from theano.tensor.signal.pool import downsample

       需换成

       from theano.tensor.signal.pool import pool_2d

       相应的代码部分:

       # pooled_out = downsample.max_pool_2d(

        换成

        pooled_out = pool_2d(

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

2)gcc/g++版本问题,我安装的是ubuntu 16.4,内置的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》

执行更新

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查看当前的gcc、g++版本

如果替换回来可以使用同样的方式操作使其指向想要的版本。

which gcc 显示当前gcc版本所在的目录

gcc 和g++一般在/usr/bin下。所以使用cd /usr/bin/ 进入该文件目录;使用ls -al | grep gcc查看当前系统中所有的gcc


神经网络与深度学习代码调试network3-蛋疼的theano版本与gcc、g++版本问题_第1张图片

你可能感兴趣的:(神经网络与深度学习代码调试network3-蛋疼的theano版本与gcc、g++版本问题)