出现错误情况
今天在使用keras的时候出现了如下错误:
TypeError:softmax() got an unexpected keyword argument 'axis'
google一下,发现主要是tensorflow与keras版本不匹配的问题,而tensorflow与cudnn之间也存在版本匹配的问题,要同时找到3个互相匹配的版本实在有点麻烦。
最后,我总结出了一个在Anaconda环境下的解决版本,强烈推荐使用Anaconda来安装各种环境,它能够允许你快速安装相同软件的不同版本,同时能够自动下载某些模块依赖的模块,正确使用Anaconda可以节省很多不必要的时间去解决错误。
解决过程
首先,卸载tensorflow和keras包,在conda环境下执行下列命令:
conda uninstall tensorflow-gpu
conda uninstall tensorflow
conda uninstall keras
pip uninstall tensorflow-gpu
pip uninstall tensorflow
pip uninstall keras
有人可能会问为什么这么做,其实主要是为了避免安装混乱,提前把所有包卸载一遍。
卸载完毕后,开始使用conda
命令安装,而不使用pip
命令安装,因为conda
命令安装可以同时下载其依赖的包,大大减少错误的可能性。命令如下:
conda install tensorflow-gpu==1.8.0
conda install keras
以往由于cudnn
版本的限制,我们只能安装tensorflow-gpu
的低版本,但是低版本会带来各种问题,所以现在我们安装tensorflow-gpu==1.8.0
,他会同时安装condad
的高版本。
安装完毕后,就会发现,keras和tensorflow的使用没有问题了。