Python开发环境搭建本就是一个繁琐且头疼的事情,然而目前所有可以搜到的深度学些开发环境搭建都是单一环境搭建,并且搭建顺序虽然合适但是并没有明确各个版本和CUDA支持系列,导致后面又要重新从头再来。这里主要讲本地安装方式,不使用在线安装,因为目前我找到的镜像源在安装中都会出现断流现象,导致安装失败。
搭建的主要内容:Python、Anaconda、CUDA、CUDNN、TensorFlow、Pytorch
我搭建的主要思路是:
1.先检查自己的硬件配置是否符合要求
2.因为Tensorflow的硬件支持需求过低,所以,先要确定Tensorflow的版本从而确定Python的版本、CUDA的版本、CUDNN的版本。
3.根据已经确定的Python版本和CUDA版本来确定Pytorch版本。
4.根据以上内容列出清单,确定安装顺序
5.根据安装顺序进行安装
硬件要求
从 TensorFlow 1.6 开始,二进制文件使用 AVX 指令,这些指令可能无法在旧版 CPU 上运行。
阅读 GPU 支持指南,以在 Ubuntu 或 Windows 上设置支持 CUDA® 的 GPU 卡。
CPU需要支持AVX指令集,因为从TensorFlow 1.6版本开始,不能在不支持AUX指令集的CPU上运行。
Win+R调出cmd命令窗口行输入nvidia-smi ,获取GPU相关信息(红圈内即为支持的最大CUDA版本号,我的为11.6,它是可以向下兼容的,最大不能超过这个版本)
这是TensorFlow官方提供的CPU和GPU对应的Python和CUDA版本表:GPU、CPU版本对照表
这里,我要安装的是TensorFlow2.5,对应的CUDA版本为11.2,小于我的GPU所支持的最大版本号,CUDNN版本为8.1,Python版本为3.6~3.9之间。
因为这两个的包都比较大,并且下载速度用迅雷也不是很乐观,所以需要提前开始下载,然后再进行后面的过程。
Tensorflow的下载链接是这样的:
https://pypi.org/project/tensorflow/2.5.0/#files *这是CPU版本
https://pypi.org/project/tensorflow-gpu/2.5.0/#files *这是GPU版本
需要下载那个版本,就将链接中的数字(2.5.0)改成需要下载的版本号 (如:2.6.0)然后粘贴到浏览器地址栏中回车。
往下翻,找到Windows版本,然后,找到对应的Python版本,这里我选的是Python3.9,直接点击,即可下载
首先,和Tensorflow一样,先上版本对照表:Pytorch版本对照表 确定我们要下载的Pytorch版本号
然后在这个镜像源链接:Pytorch镜像源链接
一共需要找到两个文件,一个是”torch“, 一个是”torchvision" 两个文件版本信息等要完全对应和一致。确定好后,直接点击,即可下载
1.首先进入Python官网,点击:Python官网
2.点击Windows
3.找到你需要的安装版本,然后根据图片中的提示,点击后面蓝色字体可直接下载。(注意操作系统位数是32位还是64位)迅雷下载比较快一点。
4.双击直接运行
要用GPU运行就必须配置CUDA,上官网:CUDA下载官网
注意:这里要点击黑色日期前面的“CUDA TOOKit 11.2.0”绿色字才会跳转到下载页面,点击后面的绿色字会跳转到版本说明。
双击运行,(这个路径不建议更改,直接 ok 就行)
等待就行。
安装好之后,我们Win+R,cmd 运行:“nvcc -V”
如果出现 命令无法识别,则安装失败。需要重新安装。
桌面上:此电脑(我的电脑)>右键 :属性 > 高级系统设置 (因为我的是windows11,版本不同,前面这些操作界面也不同,请自行根据自己的操作系统来)
红框中的都是需要自己新建的内容。
图片中蓝色文字叙述的内容中,最后说的路径,如果你选择的版本在第二位点后面还有数字,一定要精确到最后一位数字,如:11.2.1
然后依然是这个系统变量框里面,往下翻,找到 Path ,然后点”编辑“
在系统变量 PATH 的末尾添加:
%CUDA_LIB_PATH%
%CUDA_BIN_PATH%
%CUDA_SDK_LIB_PATH%
%CUDA_SDK_BIN_PATH%
再添加如下4条(默认安装路径):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\lib\x64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64
最后记得点 确定
验证是否成功: Win+R启动cmd,然后先用cd命令,跳转到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite
再验证两个命令:bandwidthTest.exe和deviceQuery.exe
注意:两个程序验证都要为 PASS
CUDNN官网下载连接:CUDNN官网下载连接
如果你是第一次下载CUDNN,需要你注册一个账号,然后填写问卷之后才可会进入下载页面,根据指示一步步操作即可。
这个文件下载下来是一个压缩包,将CUDNN压缩包里面的bin、clude、lib文件直接复制到CUDA的安装目录下,覆盖安装即可。(中间可能需要管理员权限,选择使用管理员权限 ”继续“)
点击这个官网下载即可转到官网进行下载
直接下载即可。(文件比较大,迅雷下载速度会快一点)
1.直接双击运行
后面的全部Next即可,最后一步点Finish,即可完成安装。
这里先点开第一个 Anaconda Navigator 应用程序,可能提示你需要更新,跟着他的提示走就行,最后更新完,会自动重启应用,耗时较长耐心等待一下即可。
直接点击下载即可
双击直接运行。
全部勾选即可,不然自己配置很麻烦。
直接点安装即可:
然后双击桌面 图标运行,进去会有一个对话框,我没有截到屏,记得选:“Do not import settings”,然后 OK 就行。进去之后需要填写注册码。由于Pycharm是收费的,这里放一个提供免费码的网站,需要关注一个微信公众号即可。IntelliJ IDEA 注册码
依然是这张图片,下面我们双击第二个红框 “Anaconda Prompt(anaconda3)"
出现这样一个命令行窗口
输入:“conda create -n tf-gpu-cuda8 python=3.9.12” 命令来创建一个python开发环境,环境名称为:“tf-gpu-cuda8” (这个名字可以设置任意英文名,只要好记就行),使用python版本为:“3.9.12”(这里为前面安装的python版本)。等待一会,需要输入 y 。
(命令格式:conda create -n 要创建的环境名 python=环境需要的Python版本号)
成功会跳出这个界面:
然后继续输入“activate tf-gpu-cuda8”命令,切换到“tf-gpu-cuda8”开发环境。
(命令格式:activate 已经创建的环境名)
首先使用“cd …”命令,退到磁盘根目录,如下:
然后输入存放下载的Tensorflow的根目录,
再使用 cd命令,添加二级、三级等等的目录。
最后,使用“pip install tensorflow_gpu-2.5.0-cp39-cp39-win_amd64.whl”进行安装即可。
(命令格式:pip install 需要安装的文件全名,包括后缀)
稍等一会安装完毕(又忘了截屏),使用以下命令进行测试(每行依照次序输入并运行)
python
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant(‘hello’)
sess = tf.compat.v1.Session()
print(sess.run(hello))
最后输出结果:b’hello’ 则表示安装成功
Pytorch环境搭建前面的操作和Tensorflow一样,只是最后有两个文件,需要先安装torchvision,再安装torch,命令依然是“pip install”,转入文件存放路径的过程依然和Tensorflow一样,此处不再赘述。
首先使用“pip install torchvision-0.13.0+cu116-cp310-cp310-win_amd64.whl” 安装torchvision,
等待安装完毕,
再次使用命令“pip install torch-1.12.0+cu116-cp310-cp310-win_amd64.whl”安装torch,
等待安装完毕,即可完成安装。
测试命令:
python
import torch
torch.cuda.is_available()
返回 True 则表示安装成功。
安装多CUDA以支持不同版本的Tensorflow和Pytorch,需要注意以下几点:
1.先从最低版本安装,然后逐次往上升高版本安装。不然当已经安装最高版本时,会在(CUDA安装,第二张截图,系统检查中)提示你无法安装。
2.安装的新CUDA同样需要单独设置相关的环境变量
3.程序会自动调用匹配的CUDA版本,互不影响。
如下图红框中的内容,我查了很多博客和资料,得出的结论是,这是属于二级(级别1 提示,级别2 警告,级别3 错误)及以下的消息,可以通过两条语句进行屏蔽。
具体解决方法如下:
在程序开头:
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘2’ # 不显示等级2以下的提示信息
但是,不建议屏蔽,因为在有些情况下,会妨碍输出,导致最后没有输出结果。
安装过程中可能出现各种问题,欢迎大家留言讨论。文中不当之处,还望各位老师,批评指正。