环境里装了mxnet,又装了keras,又安装了tensorflow,在keras框架下跑程序时出现了上面的错误,错误的原因不知道,但是解决了这个错误,具体如下,主要是为cudnn 重新建立软连接:
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
#删除原有动态文件,版本号注意变化,可在cudnn的lib64文件夹中查看
sudo ln -s libcudnn.so.7.3.1 libcudnn.so.7
#生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so
#生成软链接
sudo ldconfig -v
#立刻生效
解决了上面的问题后又出现了新的问题:ObjectDetecionAPI TypeError: new() got an unexpected keyword argument ‘serialized_options’
解决办法:pip install -U protobuf
解决了,但是不知道为什么
此外,在解决了上述问题后,在运行程序时,还是出现了关于cudnn的错误,可能是因为我的显卡是2080 对应的cuda10.0,目前还没有合适的tensorflow的版本,所以总是会出现一些问题。
而且我在mxnet 框架下跑程序就不会出现什么问题,可能这也说明了上面的解释。