首先查看自己电脑能支持的cuda版本,查看方法,命令行输入:nvidia-smi
这里我的cuda最高支持11.1的版本,下载的时候找11.1及以下的都可以
然后是在命令行进入提前创建好的虚拟环境(我的虚拟环境名字叫DLGPU,这里要换成自己的)
conda activate DLGPU
然后去pytorch的官网里可以找到下载cuda和对应pytorch的命令行,再通过命令行,直接下载cuda以及对应版本的pytorch:pytorch官网
到官网主页,如果有自己可以选择的版本,选择完之后复制①,没有的话点击②,找以前的版本,我这里找的以前的版本
找到自己可以用的版本后,复制命令行,然后到控制台,粘贴复制的命令行,然后回车,像这样
(DLGPU) C:\Users\zxl>conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch-lts -c conda-forge
然后就是输入y,等待下载完成(这个地方有的会下载的非常慢,有的还会报错,这个时候可以尝试下anaconda换源,具体操作可以搜索一下,如果换了源,还是报错,可以关掉或者换用手机热点下载。)
下载完成之后,我们测试一下torch和torchvision是否有冲突,如果没有多余的输出显示,那么就没有问题。
opencv的安装很简单,只需要两个命令行就可以安装相应的工具了(下载的时候会自适应版本),matplotlib下载时需要输入y。
pip install opencv-python
conda install matplotlib
tensorflow安装的时候需要确定版本,tensorflow版本与cuda版本的对应可以参考tensorflow与cuda版本号之间的对应关系
确定版本之后通过一个命令行就可以安装。我这里下载的是2.3.0的gpu版本,需要替换成自己的版本号
pip install tensorflow-gpu==2.3.0
这个时候出问题了,他提示我说缺失了一个文件,如果这台电脑上没有gpu的话可以忽略掉这个问题(我的电脑上当然是有gpu的),再测试一下tensorflow-gpu是否可用
果然返回了false,他提示说有5个文件找不到。这个问题我搜索了之后很多博主说是tensorflow和cuda版本对不上,之后我又尝试了其他版本,但依然是这种报错。最后我直接在一个网站上下载了对应的dll文件,复制到了对应的文件夹。网站DFF-FILES.com
这个是我的文件存放位置,具体要看自己的虚拟环境在哪
完事之后退出虚拟环境再重启一下控制台。再测试一次。
这次导入就没有错误提示了。再测试一下tensorflow-gpu是否可用。测试命令:
tf.test.is_gpu_available() //不建议使用,新版本的tensorflow要删除这个命令了
tf.config.list_physical_devices('GPU') //新的测试命令
但是这个时候可能会发生另外一个错误,就是因为安装tensorflow时安装了新版的pillow,导致导入torchvision出错。如下
原因:新版本的pillow中__init__.py文件有一行和以前的不一样。
解决办法:修改__init__.py文件中的一行
原始
__version__ = _version.__version__
修改为
PILLOW_VERSION=__version__ = _version.__version__
至于文件的位置,和虚拟环境的安装位置有关,这个是我的
没有问题了。这时,我们的cuda、pytorch、opencv和tensorflow就全部装好了!