第二章:环境搭建与工具链

说实话,我见过太多初学者在环境配置上栽跟头了。明明代码逻辑没问题,结果跑起来全是报错。嗯,这章我们就来把地基打牢。

2.1 Anaconda安装与配置

Anaconda是什么?说白了就是一个Python的「全家桶」。它帮你把Python解释器、常用库、包管理工具都打包好了。我个人习惯用Miniconda——轻量版,只装核心组件,需要什么再自己加。

下载地址:https://www.anaconda.com/products/individual

选对应操作系统的版本就行。Windows用户注意选64位。

安装时有个坑,我提醒一下:记得勾选「Add Anaconda to my PATH environment variable」。虽然安装程序会警告你「不推荐」,但相信我,不勾的话后面你会很痛苦。我曾经因为没勾这个选项,折腾了半小时才找到conda命令。

验证安装是否成功,打开终端(Windows用cmd或PowerShell):

conda --version
# 输出类似:conda 23.7.4

python --version
# 输出类似:Python 3.11.5

看到版本号就说明装好了。如果提示「conda不是内部或外部命令」,别慌——重启终端试试,还不行就手动把Anaconda的Scripts目录加到环境变量里。

2.2 Python虚拟环境管理

为什么要用虚拟环境?你想想看,项目A需要PyTorch 1.12,项目B需要PyTorch 2.0。如果装在一个环境里,迟早会冲突。虚拟环境就是给每个项目一个「独立的小房间」。

我常用的命令就这几个:

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

# 激活环境
conda activate dl_env

# 退出环境
conda deactivate

# 查看所有环境
conda env list

# 删除环境
conda env remove -n dl_env

小技巧:环境名别起太复杂。我一般用项目缩写,比如「cv_proj」「nlp_exp」。python版本建议选3.8或3.9,兼容性最好。

为什么会推荐3.8或3.9?因为PyTorch官方对这两个版本支持最久。我踩过坑:用Python 3.11装PyTorch,结果发现有些老模型库不兼容,最后只能降版本重来。

2.3 Jupyter Notebook使用

Jupyter Notebook是个好东西。它把代码、运行结果、图表、文字说明都放在一个页面里。做实验、写教程、快速验证想法,用它特别顺手。

安装很简单:

# 在虚拟环境中安装
conda activate dl_env
conda install jupyter notebook

# 或者用pip
pip install jupyter

启动:

jupyter notebook

终端会输出一串URL,复制到浏览器打开就行。默认端口是8888。

注意:Jupyter Notebook默认在当前目录启动。我建议在项目根目录下启动,这样文件管理更方便。我曾经在桌面启动,结果文件散落得到处都是,找起来头疼。

几个常用快捷键:

快捷键 功能
Shift + Enter 运行当前单元格并跳到下一个
Ctrl + Enter 运行当前单元格
Esc + A 在上方插入单元格
Esc + B 在下方插入单元格
Esc + M 切换为Markdown单元格
Esc + Y 切换为代码单元格

嗯,这里要注意:Markdown单元格可以写文档、公式、标题。我写实验报告时,习惯把每个实验步骤用Markdown写清楚,代码和结果放在下面。这样回头翻看时,逻辑一目了然。

2.4 PyTorch框架安装与验证

终于到主角了。PyTorch安装其实很简单,但有个关键点:选对CUDA版本

先看看你的显卡支持什么:

# 查看显卡驱动版本(Windows)
nvidia-smi

# 输出中会显示CUDA Version,比如11.8或12.1

然后去PyTorch官网(pytorch.org)选对应的安装命令。我一般用conda装:

# CUDA 11.8版本
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

# 或者CPU版本(没显卡用这个)
conda install pytorch torchvision torchaudio cpuonly -c pytorch

重要:别用pip装PyTorch!conda会自动处理CUDA依赖,pip经常搞出版本冲突。我刚开始学的时候用pip装,结果torch和cudatoolkit版本对不上,报错报了一下午。

验证安装:

import torch
print(torch.__version__)      # 输出:2.0.1+cu118
print(torch.cuda.is_available())  # True表示GPU可用
print(torch.cuda.device_count())  # GPU数量
print(torch.cuda.get_device_name(0))  # GPU型号

如果torch.cuda.is_available()返回False,别急。先检查:

  • 显卡驱动是否最新?去NVIDIA官网更新
  • CUDA版本是否匹配?PyTorch 2.0支持CUDA 11.7/11.8
  • 是不是装了CPU版本?重新装GPU版

最后跑个简单的张量运算测试:

# 创建一个随机张量
x = torch.rand(3, 3)
print(x)

# GPU运算
if torch.cuda.is_available():
    x = x.cuda()
    y = torch.rand(3, 3).cuda()
    z = x + y
    print(z)

看到输出结果,说明环境就搭好了。我个人习惯把这段验证代码保存为check_env.py,每次新建项目先跑一遍,确保环境没问题。

避坑指南:我曾经在服务器上装PyTorch,发现CUDA版本和驱动不匹配。查了半天,原来是服务器管理员没更新驱动。解决办法:要么让管理员更新驱动,要么装对应老版本的PyTorch。建议优先更新驱动。

好了,环境搭完,下一章我们正式开始写深度学习代码。记住:环境配置花点时间值得,后面能省你无数debug的功夫。