2. 环境搭建:Anaconda、PyTorch、Torchvision、MobileViT 依赖库安装与验证

说实话,搞深度学习最怕什么?不是模型调参,而是环境冲突。我见过太多同学花三天搭环境,最后发现 CUDA 版本不对,或者 PyTorch 和 Torchvision 版本不匹配,心态直接崩了。

这一章,咱们就把环境彻底搞定。我把自己踩过的坑、总结的经验全放进来。你跟着一步步来,半小时内就能跑起来 MobileViT。

2.1 为什么选 Anaconda?

Anaconda 说白了就是个 Python 环境管家。你想想看,一个项目要 PyTorch 1.12,另一个要 2.0,没有 conda 的话,你只能重装系统。

我个人习惯是:每个项目建一个独立环境。这样就算搞坏了,删掉重来就行,不影响全局。

小提示: 别用 base 环境跑项目。我见过有人把所有包都装 base 里,最后依赖冲突到连 pip list 都跑不出来。

2.2 安装 Anaconda

去官网下载对应系统的安装包就行。Linux 用户建议用 Miniconda,轻量够用。

# Linux 安装示例
bash Miniconda3-latest-Linux-x86_64.sh

# 验证安装
conda --version

安装完后,记得配置国内镜像源,不然下载慢到怀疑人生。

# 添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

2.3 创建独立环境

我习惯用 Python 3.9,兼容性好,坑少。

# 创建环境
conda create -n mobilevit python=3.9

# 激活环境
conda activate mobilevit
注意: 每次打开新终端,记得先 conda activate mobilevit。我曾经忘了激活,在 base 里装了半天,最后发现装错地方了。

2.4 安装 PyTorch 和 Torchvision

这里有个关键点:PyTorch 和 Torchvision 的版本必须匹配。不匹配的话,有些模型根本跑不了。

去 PyTorch 官网选对应 CUDA 版本的命令。我一般用 CUDA 11.8,稳定。

# 安装 PyTorch 2.0.1 + CUDA 11.8
pip install torch==2.0.1 torchvision==0.15.2 --index-url https://download.pytorch.org/whl/cu118

# 验证安装
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果输出 True,说明 CUDA 可用。输出 False 的话,检查驱动或者重装 CUDA。

2.5 安装 MobileViT 依赖库

MobileViT 本身依赖不多,但有几个库容易出问题。我列个清单:

库名 版本要求 说明
timm ≥0.6.12 提供预训练模型和层
einops ≥0.6.0 张量重排,Transformer 必备
omegaconf ≥2.3.0 配置文件管理
matplotlib ≥3.5.0 可视化
# 一键安装
pip install timm einops omegaconf matplotlib

# 验证
python -c "import timm; print(timm.__version__)"
避坑指南: 我曾经装 timm 时遇到版本冲突,原因是 PyTorch 版本太老。解决办法:先升级 PyTorch,再装 timm。

2.6 验证环境是否可用

环境搭好了,得跑个测试。我写了个简单的验证脚本:

import torch
import torchvision
import timm
import einops
from omegaconf import OmegaConf

print("PyTorch 版本:", torch.__version__)
print("Torchvision 版本:", torchvision.__version__)
print("timm 版本:", timm.__version__)
print("CUDA 可用:", torch.cuda.is_available())

# 测试 MobileViT 是否能加载
model = timm.create_model('mobilevit_s', pretrained=False)
print("MobileViT 模型加载成功!参数量:", sum(p.numel() for p in model.parameters()))

如果所有版本都正常显示,没有报错,恭喜你,环境搭好了。

2.7 知识体系总览

下面这张图,把整个环境搭建的流程串起来了。你跟着箭头走,不会迷路。

MobileViT 环境搭建流程图 安装 Anaconda 创建 conda 环境 安装 PyTorch 安装 Torchvision 安装依赖库 运行验证脚本 环境就绪 ✅ 每个步骤都经过验证,按顺序执行即可

2.8 常见问题与解决

我整理了几个高频问题,你遇到了直接查:

  • CUDA 不可用: 先跑 nvidia-smi 看驱动版本。驱动太老的话,去官网更新。
  • timm 安装失败: 多半是 PyTorch 版本太旧。升级到 2.0 以上再试。
  • ImportError: No module named 'einops': 忘了装 einops。pip install einops 搞定。
我的经验: 遇到报错先看最后一行。很多人一看到红字就慌了,其实错误信息里往往写着解决方案。

嗯,环境搭建就到这。你跟着走一遍,应该不会出大问题。如果卡住了,检查一下版本号,八成是版本不匹配。

可可精品资料库