Windows深度学习环境搭建实战:从Anaconda到PyTorch 1.2.0的避坑指南
2026/4/17 16:11:15 网站建设 项目流程

1. 为什么选择PyTorch 1.2.0?

虽然PyTorch已经迭代到更高版本,但1.2.0仍然是许多经典论文复现和教学项目的首选。这个版本在Windows平台上的兼容性经过长期验证,对GTX 10/20系列显卡支持良好。我在帮学生调试YOLOv3等项目时发现,很多开源代码库仍以这个版本为基准开发。

不过要注意,RTX 30系显卡用户需要选择更高版本的PyTorch(建议1.7.1+),因为30系显卡需要CUDA 11+的支持。这也是为什么很多实验室还在使用老显卡做教学——环境配置确实更省心。

2. 环境准备:避坑第一关

2.1 显卡驱动检查

首先右键桌面打开NVIDIA控制面板,点击左下角"系统信息",查看驱动程序版本。我遇到过最典型的问题就是学生装了最新驱动反而导致CUDA报错,这时候需要回退到特定版本:

  • GTX 1060推荐驱动版本:456.71
  • RTX 2060推荐驱动版本:457.09

可以通过NVIDIA官网的驱动程序存档页面下载历史版本。安装后记得重启,然后运行nvidia-smi命令验证驱动是否正常。

2.2 Visual Studio的隐藏需求

很多人会忽略PyTorch对VS的依赖。实测发现缺少VS 2017会导致CUDA安装失败,建议提前安装VS 2017 Community版。安装时只需勾选"使用C++的桌面开发"组件,大约占用4GB空间。有个取巧的方法:如果只是用PyTorch做推理,可以尝试安装更轻量的VS Build Tools。

3. Anaconda的智能安装法

3.1 版本选择策略

虽然官网提供最新版Anaconda,但我更推荐使用2020.02版(Python 3.7)。这个版本自带的包与PyTorch 1.2.0兼容性更好,还能避免Spyder等IDE的版本冲突问题。有个小技巧:安装时取消勾选"Register Anaconda as default Python",这样可以保留系统原有Python环境。

3.2 换源加速技巧

安装完成后立即修改.condarc文件(在用户目录下),添加清华源:

channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

4. CUDA与cuDNN的精装方案

4.1 版本组合的黄金搭配

PyTorch 1.2.0官方推荐CUDA 10.0 + cuDNN 7.4.1,但实测发现CUDA 10.1也能正常工作。有个细节要注意:安装CUDA时不要勾选Visual Studio Integration选项,否则可能引发冲突。安装完成后,需要手动将以下路径加入系统环境变量:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp

4.2 cuDNN的防错安装

解压cuDNN压缩包后,很多人直接复制文件到CUDA目录,其实更稳妥的做法是:

  1. 将bin目录下的cudnn64_7.dll复制到CUDA的bin目录
  2. 将include目录下的cudnn.h复制到CUDA的include目录
  3. 将lib目录下的cudnn.lib复制到CUDA的lib\x64目录

5. PyTorch环境搭建实战

5.1 创建隔离环境

使用conda创建Python 3.6环境是必须的,因为PyTorch 1.2.0不支持更高版本Python。我习惯用这个命令:

conda create -n pytorch12 python=3.6.8

选择3.6.8而不是最新的3.6.x可以避免后续安装numpy时的版本冲突。

5.2 两种安装方式对比

官方命令安装

pip install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html

注意三个等号是必须的,这是PyTorch的特殊版本指定语法。

本地whl安装

  1. 从https://download.pytorch.org/whl/torch_stable.html下载:
    • cu100/torch-1.2.0-cp36-cp36m-win_amd64.whl
    • cu100/torchvision-0.4.0-cp36-cp36m-win_amd64.whl
  2. 使用迅雷下载速度可达满速
  3. 安装时先装torch再装torchvision

5.3 依赖库的版本锁定

创建requirements.txt时要特别注意这些版本:

numpy==1.16.4 # 必须低于1.17.0 Pillow==6.2.2 # 高于7.0会导致torchvision报错 opencv-python==4.1.2.30 # 新版会有API变更

安装时建议使用豆瓣源加速:

pip install -r requirements.txt -i https://pypi.doubanio.com/simple

6. 环境验证与排错

6.1 基础验证步骤

在Python交互环境中依次执行:

import torch print(torch.__version__) # 应输出1.2.0 print(torch.cuda.is_available()) # 应输出True test = torch.randn(3,3).cuda() # 不应报错

6.2 常见错误解决方案

错误1TypeError: array() takes 1 positional argument but 2 were given这是Pillow版本过高导致,执行:

pip install pillow==6.2.2 --force-reinstall

错误2CUDA runtime error (38) : no CUDA-capable device is detected检查设备管理器中的显卡是否正常,尝试重新安装驱动,并确保没有启用核显。

7. 开发环境优化建议

7.1 VS Code配置技巧

安装Python扩展后,建议修改settings.json:

{ "python.pythonPath": "C:\\\\Anaconda3\\\\envs\\\\pytorch12\\\\python.exe", "python.linting.pylintEnabled": false, "python.formatting.provider": "autopep8" }

这样可以避免代码提示和格式化的问题。

7.2 Jupyter Notebook集成

在PyTorch环境中安装jupyter:

conda install nb_conda

然后创建内核:

python -m ipykernel install --user --name pytorch12 --display-name "PyTorch 1.2.0"

8. 项目实战注意事项

当运行老项目时,可能会遇到张量类型不匹配的问题。这是因为PyTorch 1.2.0默认创建FloatTensor,而新版是DoubleTensor。解决方法是在代码开头添加:

torch.set_default_tensor_type('torch.FloatTensor')

对于数据加载,建议使用torchvision 0.4.0的兼容模式:

from torchvision import datasets dataset = datasets.ImageFolder(root='path', transform=transforms.ToTensor())

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询