不知道有没有学深度学习的小伙伴在安装深度学习环境时候很头疼,反正我在研一时候是很头疼很头疼的一件事,根本搞不清楚什么显卡、显卡驱动、pytorch版本、cuda、cudnn等等等,这些是不是非常的头疼。
好,你们的救星来了。我,站在一个大笨蛋的视角来给各位小菜分享,傻瓜式安装环境。
前提条件:我有一台电脑,现在只有一个win10/win11系统,有一块GPU。
① 安装显卡驱动
② 安装Anaconda
③ 安装pytorch、cuda、cudnn
④ 安装pycharm
⑤ 测试
第一步:显卡驱动
其实这一步很多电脑都自带了,你找一下有没有下面这个软件就知道了【你在搜索框搜索一下NVIDAI Control Panel】
如果没有的话,去NVIDIA官网【http://nvidia.cn/drivers/lookup/】,下载一个显卡驱动
如果有小菜不知道自己的GPU是哪个版本的话,来看下面
测试显卡驱动是否安装成功
然后下载安装显卡驱动就好了,然后win+R打开命令控制台
输入 nvidia-smi,出现下面的页面,那么显卡驱动就安装好了
这里有个CUDA Version:11.7 ,那么后面安装CUDA的版本一定不要高于11.7
第二步:安装Anaconda
Anaconda是用于环境管理的,可以这样理解
最外层的是Anaconda,每个小格子是一个虚拟环境,我们在做项目的时候需要不同的环境。比如我项目a需要python3.7的版本,但是后面来了个项目b需要python3.10的版本。所有我们需要将不同的版本用Anaconda这个工具管理起来。
官网地址:Download Now | Anaconda
首先安装了Anaconda之后,你要创建一个虚拟环境 conda create -n pytorch python==3.8
删除虚拟环境:conda remove -n 【虚拟环境名字】--all
第三步:pytorch、cuda、cudnn
这一步我相信很多人很晕,包括我自己,那好,我这里来解释一下【最难的我觉得就是这里,很绕】
pytorch:只是一个深度学习的框架【除了pytroch还有tensorFlow+Keras、Paddle】,但现在pytorch用的比较多
cuda:是一个NVIDIA公司推出的运算平台。通俗解释就是:CUDA就是让python、C++等程序语言可以同时在CPU和GPU上跑的一个平台。CUDA就是由CUDA驱动(显卡驱动)和CUDA工具包(CUDA Toolkit)组成。
我们常常说的安装CUDA,其实是安装CUDA Toolkit这个工具包,只是安装一共工具包而已。只有安装了CUDA的工具包,才能让代码在GPU上跑起来,CUDA只是个平台哦。
我说实话,安装CUDA这个词,我很长一段时间都不知道是干嘛用的,我只知道跑深度学习需要用到CUDA。
总之:安装CUDA,也就是安装显卡驱动和CUDA工具包(CUDA Toolkit)
cudnn:用于神经网络基础运算加速用的,专门用于深度神经网络中的基础操作而设计基于GPU的加速库。
结构图:
下面我来说如何安装了哈,我建议和我一样,因为大家都是小菜嘛,我建议用pytorch官网一键安装,而不要去NVIDIA里分部安装。因为在NVIDIA里分步安装,你要去匹配版本、调环境变量等等等,如果你是想做装环境的挑战者,那你去NVIDIA官网下载吧。
上面我不不是安装了一个pytorch的虚拟环境吗?现在我们进入虚拟环境conda activate pytorch
首先到Pytorch官网:Previous PyTorch Versions | PyTorch
我建议和我选一样的,这里的CUDA版本是11.3,我们的版本最高支持的事11.7,没问题。
这个下载可能比较慢,你需要稍等一下大概1h,不要用国内镜像源,就用官方的源。
安装完成之后,在cmd里输入conda list,查看是否有如下这个包
④ 安装PyCharm,这个大家自己去找个教程吧
⑤ 测试
# -*- ecoding: utf-8 -*-
# @ModuleName: main2
# @Author: Kandy
# @Time: 2024-11-12 12:22
import torchif __name__ == '__main__':flag = torch.cuda.is_available()print("显卡是否可用:",flag) # 返回true表示显卡可以用了device = torch.device("cuda:0" if(torch.cuda.is_available()) else "CPU")print(device)print("显卡名字:",torch.cuda.get_device_name(0)) # 获得显卡名字print(torch.rand(3,3).cuda()) # 检查数据是否可以放在GPU上计算cuda_version = torch.version.cudaprint("CUDA工具包版本:",cuda_version)print("CuDNN版本:",torch.backends.cudnn.version())
结果: