目录
1 环境 & 材料
1.1 系统环境
Python | 3.7.16 |
CUDA | 11.7 |
torch | 1.13.1+cu17 |
1.2 材料
stylegan2工程代码 | https://github.com/NVlabs/stylegan2-ada-pytorch |
数据集cifar10 | stylegan2-ada-pytorch / pretrained |
Training a Classifier — PyTorch Tutorials 2.2.0+cu121 documentation |
2 CUDA & pytorch下载安装
2.1 CUDA
(1)选择版本。CUDA版本可向下兼容,建议选择版本不高于NVIDIA面板显示的本机硬件配置
查看本机配置:搜索 -> NVIDIA Control Panel(控制面板) -> 系统信息 -> 组件 ->NVCUDA64.DLL
如上图中的CUDA配置是11.7。以下以CUDA11.7为示例
(2)下载CUDA
如果先前下载过CUDA并发生环境错误,可以卸载干净再重装。卸载和安装参考以下链接
https://blog.youkuaiyun.com/m0_37605642/article/details/99100924
验证查看CUDA版本
2.2 PyTorch
查看对应的pytorch
PyTorch 官网查看对应的下载安装命令,进入链接下滑界面
(以往版本点击上方install previous version of PyTorch,安装命令见Run this Command)
保存此安装命令,暂时不安装;进入pycharm的conda环境后再用此命令下载安装
pytorch for CUDA11.7安装命令
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
3 Pycharm
3.1 创建conda环境 & 下载安装pytorch
# 创建环境 (先打开Anaconda3\envs\)
conda create -p D:\ProgramData\Anaconda3\envs\pytorch python=3.7 # 创建一个名为pytorch的codna环境
# 管理环境
conda activate # 切换到base环境
conda env list # 列出conda管理的所有环境
conda activate pytorch # 切换到pytorch环境
# 管理包
conda list # 列出当前环境的所有包
conda install requests # 安装requests包
conda remove requests # 卸载requets包
conda remove -n learn --all # 删除learn环境及下属所有包
conda update requests # 更新requests包
conda env export > environment.yaml # 导出当前环境的包信息
conda env create -f environment.yaml # 用配置文件创建新的虚拟环境
conda install numpy # 引入新的库
pip install numpy # 如果conda安装很慢,也可以用pip安装【推荐】
创建conda环境 -> 切换到pytorch环境 -> 用上面找到的指令下载安装对应的pytorch
3.2 配置解释器
文件 -> 设置 -> 项目 -> python解释器 -> 添加解释器 -> 添加本地解释器 -> Conda环境 -> 使用现有环境 -> 下拉框选择pytorch -> 确定 -> 确定
3.3 验证
print(torch.cuda.device_count()) # 查看GPU个数
print(torch.cuda.is_available()) # 查看GPU CUDA是否存在
# PyTorch调用CUDA -- 方法1
if torch.cuda.is_available():
my_module = my_module.cuda()
# PyTorch调用CUDA -- 方法2
device = torch.device("cuda")
moduleName = moduleName.to(device)
# 情况1 -- 网络模型使用CUDA
device = torch.device("cuda")
module = module.to(device)
# 情况2 -- 数据(输入imgs、标注target/label)使用CUDA
# training时开启cuda,则testing/validation时也要开启cuda,否则会报错
device = torch.device("cuda")
# training
for data in data_loader:
imgs, targets = data
imgs = imgs.to(device)
targets = target.to(device)
#....
# testing/validation
# 同上
# 情况3 -- 损失函数使用CUDA
device = torch.device("cuda")
loss_function = loss_function.to(device)
C:/users/xxx:
nvidia-smi # 查看本机GPU型号
可以尝试用上面的指令编写简单的demo验证
4 debug
4.1 配置路径
本人遇到的巨大报错!!卡死了,以为是CUDA版本对不上之类的问题,但其实上面验证或者是别的大佬的博客的验证可以通过的话就说明CUDA没啥问题。其实是即使在pycharm上面运行也涉及一点VS c++环境的路径配置,否则虽然可以跑出结果,但是会报WARNIGN。
报错信息
解决方法
从上图中,根据链接找到函数_find_compiler_binder(),修改Visual Studio路径,具体见下博客
4.2 成功运行后运行卡住
已经成功运行了n、次后,突然跑到Setting up PyTorch plugin "bias_act_plugin"就卡住了。是因为前面没跑完就退出,然后有残留文件,需要找到文件位置,删除
将AppData\Local\torch_extensions\torch_extensions\Cache文件夹下的文件清空即可
**APPData是隐藏文件夹,查看-> 显示-> 隐藏的项目√