admin管理员组

文章数量:1652353

文章目录

    • 1、安装CUDA和CUDA Toolkit
    • 2、CUDA Toolkit安装出现自动重启
    • 3、安装支持 CUDA 的 PyTorch
    • 4、Python版本
    • 5、配置永久国内镜像源
    • 6、要在激活的虚拟环境里安装pytorch
    • 7、进入python后检查是否gpu配置成功
    • 8、在虚拟环境中启动jupyter notebook
    • 9、conda中install找不到的包
    • 10、jupyter notebook 500打不开了怎么办
    • 11、jupyter notebook 能打不开了但是内核又连接不上了怎么办
    • 12、卸载虚拟环境
    • 13、安装anaconda环境到指定路径
      • 修改默认安装路径:
    • 14、已经安装的模块,在Pycharm中的添加的conda解释器都能运行,但在jupyter notebook中仍显示No moudle怎么办?
    • 15、模型训练时不要忘记启用GPU device
    • 16、环境克隆clone
    • 17、Anaconda里创建了新的虚拟环境,但是却没有kernel怎么办?

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/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu/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/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu/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/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 环境名

本文标签: 干货指南PytorchAnacondaGPU