Win11-RTX4060安装 Pytorch-GPU/Anaconda 干货避坑指南

本文详细介绍了CUDA和CUDAToolkit的安装,如何避免自动重启问题,以及安装支持CUDA的PyTorch的步骤。还涵盖了Python版本选择、配置国内镜像源、在虚拟环境中安装PyTorch和jupyternotebook,以及处理conda找不到包、jupyternotebook启动问题的方法。此外,文章还涉及了环境管理、模型训练时GPU的使用和环境克隆。
摘要由CSDN通过智能技术生成

1、安装CUDA和CUDA Toolkit

先安装CUDA和CUDA Toolkit,以及Anaconda
一篇不够,可以多看几篇:
Smaller.孔_超详细图文带你手把手安装CUDA和CUDNN,感受GPU的速度
Saito_Windows10\11下从0开始安装cuda版本PyTorch

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、安装支持 CUDA 的 PyTorch

例如 1.13: conda install pytorch1.13.1 torchvision0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia

安装 cuda-nvcc: conda install cuda-nvcc
其中安装 cuda-nvcc是最容易遗漏的,也很少有博客提到(包括本篇此前)
实测不安装 cuda-nvcc 会导致调用系统自带的 CUDA!

查看cudatoolkit版本号:conda list cudatoolkit

4、Python版本

Anaconda安装命令:conda create -n pytorch python=指定版本

5、配置永久国内镜像源

在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

6、要在激活的虚拟环境里安装pytorch

activate 虚拟环境名
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple

注意用镜像时不要开魔法。

7、进入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退出虚拟环境

8、在虚拟环境中启动jupyter notebook

这篇真的不坑
在这里插入图片描述
建议在虚拟环境里先切到本地虚拟环境存放的路径,便于以后jupyter notebook环境读取:

通过使用cd C:\Users\Lenovo\.conda\envs\pytorch切换实现;

9、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,总之技多不压身。

10、jupyter notebook 500打不开了怎么办

输入下列指令即可:

pip install jupyter notebook --upgrade --force-reinstall --no-cache-dir
conda install ipykernel --force-reinstall

–upgrade 更新
–force-reinstall 强行重装
–no-cache-dir 不再指定缓存目录

11、jupyter notebook 能打不开了但是内核又连接不上了怎么办

在环境目录下再输入指令:python -m ipykernel install --user就真的ok了
在这里插入图片描述

12、卸载虚拟环境

有环境安装错了也不要紧,在Anaconda里可以通过
conda env remove -n env_name
conda env remove -n env_name-all
完全删除配置错的虚拟环境。

13、安装anaconda环境到指定路径

方法就是在conda create命令加上选项–prefix即可

安装虚拟环境到指定路径的命令如下:

conda create --prefix=some_dir/env_name python=3.6 上面的命令中,
路径some_dir是先建好的文件夹,env_name是需要安装的虚拟环境名称。请注意,安装完成后,虚拟环境的全称包含整个路径,为some_dir/env_name。

修改默认安装路径:

Anaconda安装以及修改环境默认位置图文教程

14、已经安装的模块,在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才能正常运行:

在这里插入图片描述

15、模型训练时不要忘记启用GPU device

以简单的贯序模型为例,
需要通过:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 定义模型
model = model.to(device) # 将模型移动到设备上

将建立好的模型部署到GPU设备上;
并通过:

        imgs = imgs.to(device)  # 将输入数据移到设备上
        labels = labels.to(device)  # 将标签移到设备上

将模型的参数同样传递给GPU设备:

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)))

16、环境克隆clone

conda create -n 新环境名 --clone 旧环境名

17、Anaconda里创建了新的虚拟环境,但是却没有kernel怎么办?

说明没有安装ipykernel,但这种情况是可以在Pycharm里导入conda环境中使用的;
要解决这个问题需要在新建的虚拟环境中执行以下安装指令:
1、pip install ipython
2、pip install ipykernel
2、python -m ipykernel install --name 环境名

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wayne_Fine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值