「安装」 Windows下安装CUDA和Pytorch
文章目录
- [「安装」 Windows下安装CUDA和Pytorch](#「安装」 Windows下安装CUDA和Pytorch)
Mac、Linux、云端
Mac、Linux、云端安装Miniconda和Pytorch的方法参考其他资料。
Windows
下面进行Windows下安装CUDA和Pytorch来跑深度学习。
安装CUDA
CUDA介绍:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
注意++只有NVIDIA GPU才能使用CUDA++,AMD GPU或集成显卡均无法使用CUDA。
首先查看电脑是否拥有NVIDIA GPU:
win + r 打开「运行」窗口,输入dxdiag
:
下载CUDA,进入官网 https://developer.nvidia.com/cuda-downloads:
打开安装包:
设置安装目录:
安装选默认选项:
核心就是装:
- 驱动
- cuda开发环境
安装完成后进入命令行,使用nvidia-smi
命令查看是否安装成功:
安装miniconda
接下来下载Python环境miniconda(为什么要装miniconda参考其他资料),进入官网 https://docs.anaconda.com/miniconda/miniconda-other-installer-links/#
默认选项安装即可:
在开始菜单打开 Anaconda Powershell Prompt:
输入python --version
,查看是否是自己安装的python版本:
安装PyTorch
接下来安装PyTorch的GPU版本,进入官网 https://pytorch.org/
选择好对应的版本,然后将对应pip命令复制到Anaconda Powershell Prompt中进行pytorch安装:
整个过程还是比较慢的,文件也比较大,下载速度很慢。
下面看下是否安装成功,在Anaconda Powershell Prompt中打开python,导入torch:
测试
安装好后找一个真正的深度学习的应用跑一下,在《动手学深度学习》官网 https://zh-v2.d2l.ai/ 下载Jupyter记事本:
下载好之后解压(解压的过程提示有重名文件,选择覆盖
):
接下来使用pip命令安装所用到的包 jupyter、d2l
。打开Anaconda Powershell Prompt,使用pip命令进行安装:
pip install jupyter d2l
最好使用++源镜像++ 进行安装,否则容易出现安装失败。
安装好上面两个包之后在Anaconda Powershell Prompt中启动jupyter notebook就可以运行jupyter实例了:
启动jupyter notebook后会直接跳出浏览器窗口:
在跳出的浏览器窗口中并没有找到前面下载的jupyter实例。问题出现在刚才是在 C:\Users\Mao 目录下启动jupyter notebook的,而下载的jupyter实例是在 E:\ 目录下,因此需要使用 cd 命令切换到 E:\ 目录下启动jupyter notebook。
注意:
启动jupyter notebook的目录需要与jupyter实例(d2l-zh)所在目录一致。
切换到jupyter实例目录下再启动jupyter notebook:
这样在跳出的浏览器窗口中就出现下载的jupyter实例(d2l-zh)了:
依次点击 d2l-zh、pytorch、chapter_convolutional-modern、resnet.ipynb,这就是要测试的实例:
点击Kernel - Run All 运行所有:
点击Restart:
然后++拉到页面的最下面++ ,就可以看到已经开始下载数据进行训练了:
在训练的过程中可以通过任务管理器或在Anaconda Powershell Prompt中输入nvidia-smi命令查看GPU使用率:
训练结果:
作为对比,看一下在云上的处理速度(去《动手学深度学习》中找到现代卷积神经网络 - 残差网络,便可找到数据):
总结
在Windows上学习深度学习的步骤:
- 确认有NVIDIA GPU
- 安装CUDA
- 安装miniconda
- 安装GPU版PyTorch
- 安装d2l和Jupyter
- 下载d2l记事本运行测试
其他
还可以使用++谷歌Colab(免费算力平台)++进行深度学习,colab有免费的CPU和GPU可以使用。
使用colab方法:代码选择PyTorch版本
然后拉到页面最上面,点击colab[PyTorch]:
不过使用谷歌需要一点方法。