1、版本要和pytorch官网对应,CUDA11.8及其对应版本的cudnn
一开始我用Nvidia sim命令查的RTX-4060本地适配版本为CUDA12.0,但到了pytorch官网上才发现稳定本最高才支持11.8,于是又卸了重下,是否能向下兼容请在评论区分享。
Nvidia官网上下载对应的深度神经网络库版本(cudnn11.8)和CUDA Toolkit11.8:
如果没有Nvidia账号的话就创建一个并登录;
CUDA安装路径最好是默认C盘,环境变量其实没那么重要,CUDA会自动生产环境变量。
2、CUDA Toolkit安装出现自动重启
只勾选安装CUDA,不要勾选Geforce Experience那些;
如果C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin下能找到nvcc.exe,说明CUDA已经安装好了。
将cudnn解压后,复制替换掉C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
下的同名文件夹就可以了。
cmd里输入nvcc -V
,可以查看CUDA是否安装成功,-V要大写没有间隔。
3、Python版本
Anaconda里我的虚拟环境是用的python 3.10版本才成功,有的博客说3.8,3.9也行,不知道对不对,反正我一开始用的3.7不行。
Anaconda安装命令:conda create -n pytorch python=3.10
4、配置永久国内镜像源
在base环境里逐行输入:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
5、要在激活的虚拟环境里安装pytorch
activate 虚拟环境名
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
先尝试去掉 -c pytorch,然后执行安装,耐心等待,如果中途下载掉线,重复执行语句即可,会从缓冲进度继续下载;
有时也可以不用去掉-c pytorch,去掉后反而死活装不上,下载速度依旧很快,即便已经用的是国内镜像源。
6、进入python后检查是否gpu配置成功
虚拟环境内输入python
进入python3.10环境,
逐行输入下列中的指令,如果安装成功的话最后是会返回True:
(pytorch) C:\Users\Lenovo>python
Python 3.10.11 | packaged by Anaconda, Inc. | (main, Apr 20 2023, 18:56:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__) # 查看torch当前版本
2.0.1
>>> print(torch.version.cuda) # 编译当前版本的torch使用的cuda版本号
11.8
>>> print(torch.cuda.is_available()) # 查看当前cuda是否可用于当前版本的Torch,如果输出True,则表示可用
True
输入quit()
退出python环境
输入conda deactivate
退出虚拟环境
7、在虚拟环境中启动jupyter notebook
这篇真的不坑
建议在虚拟环境里先切到本地虚拟环境存放的路径,便于以后jupyter notebook环境读取:
通过使用cd C:\Users\Lenovo\.conda\envs\pytorch
切换实现;
8、conda中install找不到的包
改用pip install指定安装;参考anaconda命令行下安装深度学习pytorch的d2l包
尽管conda有大量的软件包,但与PyPI上提供的150,000多个软件包相比,它仍然很小。有时候需要的包没有conda包,但在PyPI上有,可以用pip安装。
搞技术就是这样,总有你想不到需要去解决的问题,一步一步来,总会摸索出解决方法。
如:指定虚拟环境目录安装d2l
包:
cmd中:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple d2l --target=C:\Users\Lenovo\.conda\envs\pytorch\Lib\site-packages
d2l
Anaconda里显示没有,但pip就可以:
其实,Anaconda中也可以用pip,总之技多不压身。
9、jupyter notebook 500打不开了怎么办
输入下列指令即可:
pip install jupyter notebook --upgrade --force-reinstall --no-cache-dir
conda install ipykernel --force-reinstall
–upgrade 更新
–force-reinstall 强行重装
–no-cache-dir 不再指定缓存目录
10、jupyter notebook 能打不开了但是内核又连接不上了怎么办
在环境目录下再输入指令:python -m ipykernel install --user
就真的ok了
11、卸载虚拟环境
有环境安装错了也不要紧,在Anaconda里可以通过conda env remove -n env_name
conda env remove -n env_name-all
完全删除配置错的虚拟环境。
12、安装anaconda环境到指定路径
方法就是在conda create命令加上选项–prefix即可
安装虚拟环境到指定路径的命令如下:
conda create --prefix=some_dir/env_name python=3.6
上面的命令中,
路径some_dir是先建好的文件夹,env_name是需要安装的虚拟环境名称。请注意,安装完成后,虚拟环境的全称包含整个路径,为some_dir/env_name。
修改默认安装路径:
Anaconda安装以及修改环境默认位置图文教程
13、已经安装的模块,在Pycharm中的添加的conda解释器都能运行,但在jupyter notebook中仍显示No moudle怎么办?
解决方法:在虚拟环境中安装nb_conda插件,并切换nb_conda版本的kernel(注意不是本地的kernel)
安装方法:Dancer-Jupyter Notebook中切换conda虚拟环境
比如此时使用的kernel是torch1,则会继续报错No moudle,即使import sys导入了包的路径也不行,需要使用conda env:torch1的虚拟环境kernel才能正常运行:
14、训练推理时不要忘记启用GPU device
以简单的贯序模型为例,
需要通过:
# 定义模型
model = model.to(device) # 将模型移动到设备上
将建立好的模型部署到GPU设备上;
并通过:
imgs = imgs.to(device) # 将输入数据移到设备上
labels = labels.to(device) # 将标签移到设备上
将模型的参数同样传递给GPU设备:文章来源:https://www.toymoban.com/news/detail-472843.html
import torch
import torch.nn as nn
import torch.optim as optim
train_loader = torch.utils.data.DataLoader(cifar2, batch_size=64,
shuffle=True)
model = nn.Sequential(
nn.Linear(3072, 512),
nn.Tanh(),
nn.Linear(512, 2),
nn.LogSoftmax(dim=1))
# 定义模型
model = model.to(device) # 将模型移动到设备上
# 查看模型参数位置
for name, param in model.named_parameters():
if param.device.type != 'cpu':
print("模型参数'{}'位于GPU上".format(name))
else:
print("模型参数'{}'位于CPU上".format(name))
learning_rate = 1e-2
optimizer = optim.SGD(model.parameters(), lr=learning_rate)
loss_fn = nn.NLLLoss()
n_epochs = 100
for epoch in range(n_epochs):
for imgs, labels in train_loader:
imgs = imgs.to(device) # 将输入数据移到设备上
labels = labels.to(device) # 将标签移到设备上
outputs = model(imgs.view(imgs.shape[0], -1))
loss = loss_fn(outputs, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()
print("Epoch: %d, Loss: %f" % (epoch, float(loss)))
15、环境克隆clone
conda create -n 新环境名 --clone 旧环境名
16、Anaconda里创建了新的虚拟环境,但是却没有kernel怎么办?
说明没有安装ipykernel,但这种情况是可以在Pycharm里导入conda环境中使用的;
要解决这个问题需要在新建的虚拟环境中执行以下安装指令:
1、pip install ipython
2、pip install ipykernel
2、python -m ipykernel install --name 环境名
文章来源地址https://www.toymoban.com/news/detail-472843.html
到了这里,关于Win11-RTX4060安装Pytorch-GPU干货避坑指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!