安装TensorFlow-python记录
0. 写在最前!
使用GPU训练深度学习模型时,软件配置的顺序应该是
安装anaconda
安装显卡驱动
查看最新版的tensorflow的对应CUDA和cuDNN版本
安装指定版本的Nvidia CUDA
替换cuDNN补丁
如果CUDA与cuDNN与tensorflow的版本不一样,那就要从CUDA安装重头来过,需要严格一致,没有向下兼容一说
目的:为python环境安装tensorflow-gpu(GPU版本下的tensorflow,相比于CPU版本下的tensorflow,运行速度更快)
安装tensorflow-gpu全记录
1. 获取tensorflow的对应版本
https://tensorflow.google.cn/install/source_windows?hl=en#gpu
下载的tensorflow需与CUDA和cuDNN对应
以下是我的版本信息
操作系统 | CUDA | cuDNN | python | 显卡 |
---|---|---|---|---|
win10 | 12.2.0 | 8.9.2 | 3.9.10 | Nvidia GeForce RTX 3050 Laptop GPU |
所以我选择安装的版本是:tensorflow_gpu-2.10.0
pip install tensorflow_gpu==2.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simple #参考的教程中用的
使用pip安装,但是我想查看pip安装位置在哪,如果在C盘的话,内存就不够了,要改一下pip下载的位置
在cmd中输入conda list时,报错,信息如下
上网搜索方法,大概是一个权限文件出错了(应该是.condarc文件,一般在"C:\Users\DELL.condarc")。之前我清理C盘的时候可能误清理了一些其他文件,所以需要重装一下conda,正好以前装的是miniconda,现在直接装一个anaconda在D盘吧。
插曲1:卸载miniconda,下载anaconda
参考的是这个博主的笔记:https://blog.csdn.net/fan18317517352/article/details/123035625
卸载miniconda
除了在控制面板-程序卸载中卸载了miniconda,我还在此电脑中搜索了conda,把之前没删干净的conda都删除了,主要在:
C-用户-DELL-AppData
C-用户-DELL-Local
下载anaconda
通过清华镜像网站下载anaconda,选择电脑系统对应的版本
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
双击打开文件
选择第二个all users
这里会出现两个框,都别关掉
配制anaconda
将这几条放在环境变量中:
D:\Anaconda
D:\Anaconda\Scripts
D:\Anaconda\Library\mingw-w64\bin
D:\Anaconda\Library\usr\bin
D:\Anaconda\Library\bin
检查环境配置是否成功
- 查看python环境
cmd输入python,检查是否有python环境
- 查看是否有conda环境
- win键打开anaconda
顺利打开
至此,anaconda配制完成!
此时再次输入conda list时,输出正确
2. 使用conda环境下载tensorflow
- 打开anaconda prompt
- 创建tensorflow环境
由于C盘空间不足,所以创建的环境修改为D盘,也就是下载anaconda所在的位置
插曲2:修改虚拟环境的创建位置
conda env list #查看环境路径
在C盘-用户-(用户名,我的是DELL)-找到文件.condarc,在最后一行加上
envs_dirs:
- D(哪个盘由你决定)://(后面的文件路径也是你自己决定的)anaconda3//envs
(下图是我自己的路径)
但重新在cmd中查看conda env list还是只有base没有test
所以修改envs(我设置的路径)文件夹的属性
选择user,并且选择所有权限
接着再次尝试conda env list口令
后来发现了,如果只有base没有test的话,是因为自己并没有创建test的虚拟环境,只有base的环境,详见下图:
相关链接:https://blog.csdn.net/weixin_48373309/article/details/127830801
anyway 继续上面的tensorflow下载
进入anaconda prompt创建一个tensorflow的虚拟环境
conda create -n tensorflow python=3.9
输入conda env list可查看虚拟环境,tensorflow已经成功创建(星号是当前所在的环境)
进入环境的命令
activate tensorflow
此时在tensorflow的环境中,使用cd命令进入虚拟环境中envs,先后输入这两个命令:
d:
cd \Anaconda\envs\tensorflow\
安装对应版本的tensorflow-GPU,我的是tensorflow_gpu-2.10.0
pip install tensorflow-gpu==2.10.0 -i https://pypi.mirrors.ustc.edu.cn/simple
(中途下载的时候卡住了,进度一直不动,按一下回车就好了)
(这样应该是下好了吧)!
3. 检查安装效果
输入c: 退回c盘路径,但依然还是在tensorflow虚拟环境中
进入python环境,导入tensorflow的包进行测试
python
import tensorflow as tf
但是遇到了这个报错
但是我打开pycharm之后,将创建的tensorflow虚拟环境放进interpreter中,是能看到有tensorflow-gpu这个第三方包的,在编译器中也是能搜索出来tensorflow的,尝试下载,等了很久,进度条为0,决定放弃尝试。
后来尝试了一下,通过pip show tensorflow-gpu命令,从显示信息来看,应该与tensorflow差不多,所以猜测两者相同。
出现报错,尝试解决
exit()命令退出python环境
输入
pip install protobuf==3.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
不过依然没有解决,所以个人猜测应该是下载的tensorflow-gpu的版本比较高,所以已经不包含tensorflow了,所以按照一些较旧的教程测试时会出现问题,但是问题不大。
anyway 我现在直接pip install tensorflow了,速度是很慢的,已经使用国内镜像源了(并且无意中发现,点击窗口后,下载是会暂停的,按回车就好了)
安装了很久,但是还是有报错信息。从pip show tensorflow命令中,看到tensorflow已经下载好了,同时在python环境中使用import tensorflow as tf, tf.__version__命令,也显示了版本信息。(也算是,成功了?anyway,再说吧)
4. 测试tensorflow-gpu是否安装成功
打开anaconda,选择tensorflow
但是没有出现安装成功的信息,哭泣,看了教程,说是tensorflow-gpu安装错误,没办法,重新安装一次吧,安装一个更低版本的
插曲3 删除已经安装的tensorflow-gpu,并重新安装更低版本的tensorflow-gpu
pip uninstall tensorflow-gpu
保守起见,安装一个和教程一样版本的tensorflow-gpu(因为一般都是向下兼容,所以应该问题不大)
pip install tensorflow-gpu==2.7.0 -i https://pypi.mirrors.ustc.edu.cn/simple
然后开始漫长的等待(其实也不漫长,就4分钟)
啊?怎会如此(看下图,怎么报错了。大致的意思是,你应该安装2.12的而不是2.7的,不管了,先看看情况如何)
啊啊啊啊?谁懂啊,又报错了,按照教程改一改
泪目
网上查到方法,使用conda安装而不是用pip安装(理由如下)
相关资料:https://zhuanlan.zhihu.com/p/46579831
conda install tensorflow-gpu-2.10.0
结果是conda中找不到(所以是为什么找不到呢)
好吧,又重新卸载,重新下载了,还是用pip,还是用上面的一串pip代码
然后。。。。
(tensorflow) D:\Anaconda\envs\tensorflow>python
在python环境中
(试过,import tensorflow-gpu是invalid的)
好吧,再次尝试用spyder检查安装效果
还是不行
插曲4 更换CUDA和cuDNN的版本,使之与tensorflow匹配
卸载CUDA
控制面板中打开程序卸载,按时间顺序排序,卸载带CUDA12.2的程序
并在安装CUDA的目录下,找到CUDA toolkit和CUDA coopration文件夹,删除
C盘腾出大位置(内心流泪,哈哈哈)
cuda下载11.2版本的
安装CUDA
(下图,只要不选visual studio integration就不会提示要安装vs,就会安装成功!)
![在这里插入图片描述](https://i3.wp.com/img-blog.csdnimg.cn/7fcae8e4bea241308509459ac5d4cfc4.png
感恩!安装到此为止是顺利的
安装cuDNN
版本为8.1
下载了顺数第四个
也顺利下载了
重新在python环境中测试
可见版本对应了之后就顺利了,如下图所示
再重复spyder里测试,得到结果
类目,终于成功了!
tensorflow的版本是2.10.0
倒数第二行是true,说明tensorflow-gpu安装成功
5. 测试GPU的运算速度
这里的代码复制了csdn博主“酷酷的懒虫”的代码
https://blog.csdn.net/weixin_43412762/article/details/129824339
6. 总结
- 使用GPU训练深度学习模型时,软件配置的顺序应该是
安装anaconda
安装显卡驱动
查看最新版的tensorflow的对应CUDA和cuDNN版本
安装指定版本的Nvidia CUDA
替换cuDNN补丁
我先查到的教程先教我安装了CUDA和cuDNN,没有提到tensorflow版本复合的问题,所以导致后期要重新安装CUDA的麻烦事情
2. 最后还是用pip安装的tensorflow-gpu,记得后面加镜像,不然太慢了
3. 不需要下载tensorflow的包,因为使用的是gpu进行深度学习训练,所以用的是tensorflow-gpu。如果用cpu进行深度学习的训练则使用tensorflow
4. 安装过程的每一个步骤都要记录,不然很容易不知道在哪一步就出错了,需要重做,重做有导向的话会好很多!
5. 孰能生巧,安装软件也一样,类目
参考信息
https://blog.csdn.net/weixin_43412762/article/details/129824339
作者:乐乐9乐乐