创建新环境

进入conda环境你

source ~/.bashrc

为什么需要运行 source ~/.bashrc?
在某些情况下,你可能需要手动重新加载 .bashrc 文件,以使更改立即生效。例如:
安装或配置 Conda:当你安装 Conda 或修改其配置时,可能需要重新加载 .bashrc 文件以确保 Conda 的命令(如 conda activate)可以正常使用。修改环境变量:如果你手动编辑了 .bashrc 文件并添加了新的环境变量,需要重新加载它以使变量生效。
安装新的工具或库:某些工具(如 Node.js、Ruby 等)可能需要在 .bashrc 中添加路径或配置,这些更改需要重新加载才能生效。

查看已有的虚拟环境

conda env list

创建新环境

conda create -n name(环境名) python=3.11

create是创建的意思,-n是name缩写,即后面的name是你要创建的环境的名字,python=3.11是你要在环境中安装的python版本。

激活环境

conda activate name(环境名)

退出环境

conda deactivate

移除环境及包

conda remove -n name(环境名) --all

创建新环境窗口:
(下面第一张图片创建的环境名有误,应该是mytorch2,第二张图片和后面内容相对应)
这里有误,应该是mytorch2在这里插入图片描述
在这里插入图片描述
①系统询问是否安装以上包,输入y
②安装完成后会提示你激活环境和退出环境的命令
③最后出入激活环境命令,进入刚才创建的环境

常见问题:

  • 如果创建新环境失败,比如无法下载相应的包,如下图所示:
    在这里插入图片描述
    这种问题可能是由于之前配置过其他非官方源,比如清华源镜像等,需要先将系统的默认源改为官方源,执行以下命令再创建新环境即可正常创建:
conda config --remove-key channels

这里附上一些其他常用命令
查看安装源:

conda config --show channels //defaults为默认源

安装清华镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

移除默认安装源:

conda config --remove channels defaults

创建完新环境后,如果不使用显卡加速,则可以直接使用清华源镜像下载pytorch特定版本的环境

pip3 install torch==2.4.1 torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

这种方法下载比较快,但是因为该命令并没有下载cuda工具,不能使用GPU加速,而是用CPU训练。(一般的小网络完全够用了,比如我测试的手写数字识别用CPU绰绰有余)
假如电脑有英伟达显卡,则可以通过GPU来加速训练,但是需要下载cuda、cuDNN,CUDA是为“GPU通用计算”构建的运算平台,cudnn:为深度学习计算设计的软件库。下面介绍如何下载cuda以及配置支持显卡加速的pytorch环境。

cuda,cuDNN下载

开始前一定要注意!!!先将你的显卡驱动更新到最新,然后cuda版本和cuDNN版本是要对应的,以及后续下载pytorch环境也是要找和自己cuda版本对应的命令下载。这些版本还和最开始创建的新环境的python版本要兼容。因此在进行以下步骤时一定最好是先进入各个软件官网(cuda,cuDNN,pytorch)查看一下安装命令,确保自己要安装的cuda版本在各个官网都能找到对应的那个版本的命令。

附上一个Python、PyTorch与cuda的版本对应的博客:
https://blog.csdn.net/weixin_41809117/article/details/141246957?fromshare=blogdetail&sharetype=blogdetail&sharerId=141246957&sharerefer=PC&sharesource=qq_52033578&sharefrom=from_link

英伟达驱动更新:
NVIDIAhttps://www.nvidia.cn/Download/index.aspx?lang=cnhttps://www.nvidia.cn/Download/index.aspx?lang=cn
下载完成后检查一下更新,全部更到最新。在其更新期间,你就可以去看一下各个官网的版本对应命令了。下面先附上官网地址:

  1. cuda:https://developer.nvidia.com/cuda-toolkit-archive
  2. cuDNN:https://developer.nvidia.com/rdp/cudnn-archive
  3. pytorch:https://pytorch.org/get-started/locally/
  • 查看电脑显卡支持的cuda版本
    进入cmd,输入以下命令:
nvidia-smi

在这里插入图片描述
cuda版本显示为12.7,进入官网下载相应版本。

  • 下载cuda
    进入网站https://developer.nvidia.com/cuda-toolkit-archive选择适合自己的版本。比如我在官网没找到12.7版本,最新的只有12.6,不过亲测比12.7版本低的也可以用,我下的是12.4版本,因为后面pytorch官网支持的最新版就是12.4,那么在下面下载cuDNN时也要找支持12.4版本的,pytorch选择cuda时也要选12.4。
    在这里插入图片描述
    点击进入,选择配置:Windows系统,选择W11系统或者W10系统,下载到本地。
    在这里插入图片描述
    下载完成后运行。这里可直接点ok,因为这个是临时文件,待会儿会自动删除。
    在这里插入图片描述
    接下来会自动检测系统兼容性。
    在这里插入图片描述
    将新版本小于旧版本的取消打钩。当前版本即前面更新显卡后的版本,这里取消打钩就不会覆盖前面刚刚更新的驱动(我个人感觉应该只要确保前几个CUDA开头的组件下载下来就行)。点击下一步。
    在这里插入图片描述
    选择安装位置,自己建一个文件目录,以后可能还会安装多个CUDA版本,所以要给CUDA创建一个文件夹,要记住这个文件夹的地址,后面会用到
    在这里插入图片描述
    正在安装。
    在这里插入图片描述
    安装完成后,打开cmd,输入
nvcc -V

查看版本信息,确认安装成功。
在这里插入图片描述

  • 下载cuDNN
    进入官网https://developer.nvidia.com/rdp/cudnn-archive
    选择对应版本,一定要和前面cuda版本对应,选项后面的for cuda 12.x说明它支持12版本的cuda。
    在这里插入图片描述
    在里面选择适应你电脑系统的版本下载即可
    在这里插入图片描述
    下载完成后解压,会显示三个文件夹:
    在这里插入图片描述
    将这几个文件夹里的内容放在cuda安装目录的对应文件夹里。
    在这里插入图片描述

安装pytorch

注意安装时可以选择使用清华源下载,这样比较快,但是我试了我要安装的版本,会显示源里找不到cuda的一些包,应该是清华源没有最新版的cuda,所以没法安装,以前比较早的版本,清华源可能是支持的。
所以这里我就直接用了官网下载,只是下载比较慢,容易下载失败。不过失败了就再重新输入一遍命令就好,系统会自动检测出没有安装完成的包继续下载。
进入pytorch官网:
https://pytorch.org/get-started/locally/
选择对应系统和版本的选项,复制命令。在这里插入图片描述
如果你是要下载以前版本的pytorch,可以点方框内的链接查找以前版本的安装命令,如下所示,注意也要选择和cuda对应的版本。 在这里插入图片描述
复制完命令后进入anaconda命令窗口Anaconda Prompt(也可以通过cmd输入conda activate进入虚拟环境),进入自己刚创建的环境(注意这里一定要激活进入自己最开始创建的虚拟环境,看到命令行最前面的base变成自己的环境名即可)。粘贴刚才在pytorch官网复制的命令,系统检测完成后会提示你要安装哪些包。在这里插入图片描述
输入y开始安装,这里第一次安装应该是要下好多包,如果安装失败就重复输入命令继续安装即可,因为连的外网,下载会很慢。
安装完成输入python。
在这里插入图片描述
通过以下命令查看是否安装成功:

import torch

如果没报错说明pytorch环境已经装好

torch.cuda.is_available()

产看cuda是否可用。回复True则正常。

torch.version.cuda

查看安装的cuda版本
在这里插入图片描述
至此,环境已经配好。

PyCharm调用GPU

以上全部配置好后,就可以在训练时使用GPU训练了。

  • PyCharm解释器选择

首先需要在PyCharm中选择对应刚才创建的环境的解释器,点开PyCharm右下角解释器(如果这个地方没有,就到文件-设置-项目-python解释器中找),我这里是以前的一个环境中的解释器。
在这里插入图片描述
现在点击添加新的解释器,点击系统解释器,再到右边三个点里面找解释器的文件地址。
在这里插入图片描述
创建的环境都在Anaconda的env目录下,找到你的环境名点进去,再选中python.exe,确定即可。envs是environments(环境)的简称,mytorch2是刚刚创建的新环境。
在这里插入图片描述
可以看到右下角解释器的变化。
在这里插入图片描述

  • 神经网络代码设置

在代码前面加上下面代码,意思是当cuda可用时,就使用cuda训练,如果不可用就使用cpu训练

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

或者可以加入下面这段有打印输出的,更加明显:

if torch.cuda.is_available():
    device = torch.device("cuda")  # GPU设备对象
    print("gpu", torch.cuda.is_available())
    print("CUDA is available. Training on GPU.")
else:
    device = torch.cuda.device("cpu")  # CPU设备对象

注意在代码中要将网络模型的训练以及图片和标签都加载到device上,也就是前面指定的显卡上:

cnn = cnn.to(device)  # 将CNN对象移动到指定的设备上
   
# 使用显卡加速,将数据放到device中,即显卡中
images = images.to(device)
labels = labels.to(device)
  • 小问题
    我在跑神经网络时,通过任务管理器查看GPU占用情况,发现我的英伟达显卡一直为0%,而CPU反而有明显波动,我以为是我的配置有问题导致无法调用GPU,但是找了很久的方法也没有解决,后来看到有人说是“可能你的时间都花费在读数据和数据预处理上了,这些操作比较费CPU,而GPU上的操作比较快,所以显示GPU占用为0。你还可以用nvidia-smi命令看一下模型是不是在GPU上跑的。”于是我在运行代码后,使用“nvidia-smi”命令查看,GPU果然是被占用的,也就是说实际上是调用了GPU来训练的,可能因为我用来测试的模型太小,训练时间很短,所以任务管理器没有显示。
    在这里插入图片描述
    所以按理说只要你在PyCharm中,运行
print("gpu", torch.cuda.is_available())

显示结果为True,则说明你的cuda是可以用的。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐