Tensorflow安装踩坑记录
前段时间购置了3070ti,我欢天喜地地以为我的深度学习之旅就要顺利开始了,但我完全没意识到,这是我漫漫踩坑之路的开始。
如无特殊提示,以下均使用使用anaconda+python3.7进行安装
Tensorflow安装版本选取
- 参阅官网,根据GPU型号选择合适的CUDA和CUDnn版本
- 要注意如果在安装CUDA的时候提示:you have installed a higher version of frameview SDK,那么要到控制面板里面卸载frameview SDK(这个软件实际上是在安装显卡驱动的时候顺带安装的,用来检测游戏进行时的显卡性能,所以放心卸载即可),写在完成后CUDA便能顺利安装。
我的显卡是3070ti,因此选取了CUDA11.2和cudnn8.2,cudnn的压缩包下载之后解压到下图列出的文件夹中即可
- 选择CUDA和CUDnn版本之后,要参考
在 Windows 环境中从源代码构建 | TensorFlow (google.cn)
选择tensorflow的gpu版本。在安装tensorflow之类的环境时,往往面临着库的版本冲突,旧版本缺失之类的问题,一定要记住创建虚拟环境来安装你做每个项目需要的库。
创建虚拟环境:
Conda create -n your_env_name(你的虚拟环境的名称) python = 3.x(版本号自己选取,我选的是3.7)
然后再激活虚拟环境:(一定要记得激活,要不然会安装在外部环境里面,删除起来又是好多功夫)
conda activate your_env_name
在虚拟环境中安装,在激活虚拟环境之后,pip install即可
如果下载速度较慢,记得换下载的镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes
- 如果在安装完成之后提示:
1.依赖的库缺失,即cuda64——110、101.dll缺失,首先明确一点,CUDA和CUDnn都是没问题的,其次检查是不是安装了多个tensorflow的版本,删除掉多余的版本,然后重装tensorflow能最快解决此类问题
2.tensorflow在使用时提示,tensorflow没有session、constant之类的attribute(我不确定attribute用中文怎么表述成术语),这是因为安装的tensorflow版本过高,在tensorflow2.x版本中已经没有这些属性了,因此要使用tensorflow.compat.v1.session来使用session之类的attribute
但是这样子就导致了我们原本使用tensorflow1.x版本时只需要打一个tf就能使用的attribute变得很冗长,可以考虑使用(12条消息) tensorflow.compat.v1_qwertylffFrieda的博客-CSDN博客 的方法:
Import tensorflow as tf2
tf = tf2.compat.v1 来使用tensorflow version1的attribute