目录
- 引言
- 一、前期准备:先搞清楚自己有什么硬件,走哪条路
- 二、第一步:安装Anaconda(所有平台通用核心步骤)
- 三、核心步骤:配置CUDA+cuDNN( NVIDIA显卡用户必看)
- 四、安装深度学习框架:PyTorch和TensorFlow
- 五、安装常用开发工具
- 六、常见问题排查:这些年踩过的坑,一次性帮你填平
- 七、跑通第一个测试项目:验证环境完全可用
- 总结
回想起来,当年自己刚入门时,光是搭个开发环境,前前后后折腾了三天。CUDA版本不对、PyTorch死活认不出GPU、conda命令找不到、包下载到一半就超时……各种问题像多米诺骨&牌一样倒下来,差点就想把电脑砸了,怀疑自己是不是根本吃不了这碗饭。
后来请教了公司的前辈,才发现这些几乎都是新手必然会踩的“共性坑”。只是没人把这些坑提前画出来,大家都是各自在黑暗里摸索。如今看着身边的朋友们入门,第一关还是环境搭建,踩的坑跟我当年如出一辙。所以干脆把这份最全的教程整理出来,把所有的细节和经验都写进去。无论你是Windows、Linux还是Mac的M系列芯片用户,跟着这份指南,就能一次性把环境搭好,省去四处搜教程试错的时间。
那么,为什么一定要自己搭本地环境?很多新手一开始图省事,用Colab或Kaggle的在线环境。不可否认,它们确实免去了搭建环节,但缺点也很明显:数据上传下载限速,几个G的数据集根本传不动;代码调试打断点很不方便;跑大模型时,免费版还会限制时长,动不动就断开。本地环境搭建好后,开发调试都得心应手,数据存在自己电脑里也更安全。这步是入门AI开发必须跨过的坎,早搭早省心。

一、前期准备:先搞清楚自己有什么硬件,走哪条路
很多人上来就埋头开装,结果装到一半发现自己的硬件根本不支持,白白忙活半天。所以第一步,我们先理清自己手上的设备,选择对应的配置路线。
1.1 你需要什么样的硬件?
AI开发大致分两类:学习和做项目,对硬件的需求差异很大:
- 纯入门学习阶段: 哪怕只有核显,CPU也完全能跑。像MNIST手写数字识别、线性回归这类小项目,CPU跑起来也就几十秒,完全不影响学习。当初我用一台四年前的老笔记本,i5的CPU,照样把基础算法都练了一遍。
- 做项目 / 训练模型: 如果有条件,一定要上NVIDIA独立显卡。GPU对深度学习的加速是质的飞跃。同样训练一个分类网络,CPU可能要跑一个小时,一张3060显卡五分钟就搞定了,体验天差地别。这里给大家一个入门显卡的参考:显存至少4G,跑小项目没问题;要跑10亿参数以内的大模型,至少需要8G;想本地推理7B量级的大模型,则至少需要16G。当然,显存越大越好。
- AMD显卡用户: 目前AMD对深度学习的支持确实比较拉胯。ROCm主要面向数据中心的专业卡,消费级显卡的支持很差,坑很多。如果你是新手,建议先装CPU版本凑合用,等以后有条件再换N卡。不必死磕GPU支持,太浪费时间。
- 苹果M系列芯片用户: M1/M2/M3芯片都有原生的加速支持。苹果的Metal框架对PyTorch的优化已经非常成熟,速度比同价位的Intel CPU快很多。日常做小项目、跑大模型推理完全够用。目前对TensorFlow的支持不如PyTorch,但大部分入门学习场景都足够了。
1.2 核心概念扫盲:别还没开始就被名词吓住
很多教程一上来就堆砌名词,新手看得头大。这里用大白话把几个核心概念讲清楚,不用刻意去记,先有个印象:
- Anaconda: 一个Python环境管理工具。可以把它理解成一个“AI环境收纳箱”。不同项目需要不同版本的Python和框架,用Anaconda可以给每个项目建一个独立的“房间”,互不干扰。这样就不会出现“A项目要Python3.8,B项目要Python3.10,两个打架把整个系统搞崩”的情况。AI开发几乎人手一个,比直接用系统Python方便一百倍。
- CUDA: NVIDIA为自家GPU开发的并行计算框架。深度学习框架就是基于CUDA来调用GPU进行加速的。简单来说,没有CUDA,你的NVIDIA显卡就没法用来加速AI训练。
- cuDNN: NVIDIA开发的深度神经网络加速库,是CUDA的一个插件。它专门为卷积神经网络等常用操作做了深度优化。装完CUDA后必须再装上cuDNN,才能让框架充分发挥GPU的性能。
- PyTorch / TensorFlow: 目前最主流的两大深度学习框架。你写模型、训练模型都要基于它们之一。入门的话,强烈推荐先学PyTorch。它的语法更简单,调试更方便,现在业界的实际应用也更广泛。
- 虚拟环境: 刚才提到了,就是隔离开的独立Python环境。不同环境的包互不影响。一定要养成用虚拟环境的习惯,千万别把所有项目都装在base环境里。用上半年你会发现环境已经乱到根本没法用。
二、第一步:安装Anaconda(所有平台通用核心步骤)
无论你是什么平台,第一个要装的就是Anaconda,这是整个环境的基础。
2.1 下载安装包
直接访问Anaconda官网,网站会自动识别你的操作系统,下载对应版本的安装包就行。
2.2 分平台安装步骤
(1)Windows平台安装
- 双击安装包,一路点“Next”即可。
- 接着是许可协议,点“I Agree”。
- 选择安装用户,一般选“Just Me”即可。
- 重点!重点!重点! 这里是我当年踩的第一个大坑:选择安装路径时,一定不要装在C盘,也一定不要使用中文路径! 当年我把Anaconda装在了“C:\用户\张三\软件\Anaconda”这个路径里,全是中文,后来装包时各种乱码报错,搞了一整天才定位到问题。建议大家直接装到D盘或E盘,新建一个全英文的路径,比如
D:\dev\Anaconda3,用这个准没错。 - 最重要的一步: 在Advanced Installation Options这里,第一个选项是 “Add Anaconda to my PATH environment variable”,一定要勾上! 很多教程说不要勾,怕和系统Python冲突,其实根本没事。勾上之后,打开cmd就能直接用conda命令,省去手动添加环境变量的麻烦。新手搞不懂环境变量,我就是当年没勾,打开cmd就是“conda不是内部或外部命令”,折腾了一下午。所以听我的,直接勾上。第二个选项“Register Anaconda as my default Python”也勾上,没问题。
- 点“Install”,等待安装完成。
(2)Linux平台安装(以Ubuntu为例)
很多开发者会在服务器上使用Linux系统,这里也写清楚步骤:
- 打开终端,进入下载目录,比如
cd ~/Downloads。 - 给安装包加执行权限:
chmod +x Anaconda3-xxxx-Linux-x86_64.sh,文件名中的xxxx是版本号,输入Anaconda3后按Tab键可以自动补全。 - 运行安装脚本:
bash ./Anaconda3-xxxx-Linux-x86_64.sh。 - 一路按回车阅读协议,看到询问 yes/no 时,输入
yes回车。 - 选择安装路径,默认安装在当前用户的根目录下的
anaconda3。如果想改路径,输入一个全英文的路径即可。 - 重点: 安装快结束时,会询问 “Do you wish the installer to initialize Anaconda3 by running conda init?”,一定要输入
yes回车。这样会自动把conda添加到PATH里。 - 安装完成后,刷新环境变量:
source ~/.bashrc(如果是zsh,则用source ~/.zshrc)。
(3)MacOS平台安装(Intel/M芯片通用)
Mac的安装很简单。下载dmg安装包后,双击打开,一路“下一步”就行。同样注意不要用中文路径。安装完成后,打开终端,输入 conda -V,如果输出版本号,就说明安装成功了。
2.3 换源:解决下载慢、超时的问题
Anaconda默认的源在国外,国内下载速度经常只有几KB,动不动就超时。所以一定要换成国内的镜像源。一直用清华源,速度稳定。步骤通用:
- 打开终端(Windows打开Anaconda Prompt,Mac/Linux直接开终端),输入
conda config --set show_channel_urls yes回车。这会生成一个配置文件.condarc。 - 找到这个文件:
- Windows: 文件在
C:\用户\你的用户名\.condarc,用记事本打开就行。 - Linux/Mac: 在当前用户根目录下,输入
vim ~/.condarc即可打开。
- Windows: 文件在
- 把里面的内容全部删掉,替换成清华源的配置:
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/github-ctan//conda-forge
msys2: https://mirrors.tuna.tsinghua.edu.cn/github-ctan//msys2
bioconda: https://mirrors.tuna.tsinghua.edu.cn/github-ctan//bioconda
menpo: https://mirrors.tuna.tsinghua.edu.cn/github-ctan//menpo
pytorch: https://mirrors.tuna.tsinghua.edu.cn/github-ctan//pytorch
- 保存退出后,输入
conda clean -i清除索引缓存,换源完成。
注意,pip也要换源。因为很多包conda源里没有,需要用pip装。同样换成清华源:
- Windows: 在当前用户目录(C:\用户\用户名)下,新建一个文件夹叫
pip,在里面新建一个文件叫pip.ini,写入以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
- Linux/Mac: 在当前用户根目录新建
~/.pip/pip.conf,内容同上。
换完源之后,下载速度基本能跑满你的带宽,再也不用担心中途超时了。
2.4 创建AI专用虚拟环境
换源完成后,创建一个专门用于AI开发的虚拟环境。这里推荐使用Python 3.10版本。为什么选3.10?因为目前几乎所有主流AI框架都完美支持它。太新的3.11、3.12还有很多包没适配,太老的3.7、3.8很多新框架已经不维护了。所以3.10是对新手最友好的版本,闭着眼选不会错。
创建命令:
conda create -n ai python=3.10
输入后,conda会列出要装的包,询问你yes/no,输入 y 回车,等待创建完成即可。
创建完成后,激活环境:
conda activate ai
激活后,你会看到终端前面多了一个 (ai) 的前缀,说明你已经在这个虚拟环境里了。后续所有的安装操作都在这环境里进行,不会影响其他环境。如果以后不需要这个环境了,可以用 conda remove -n ai --all 命令删除,非常方便。
三、核心步骤:配置CUDA+cuDNN( NVIDIA显卡用户必看)
这部分是新手最容易踩坑的地方,一步步给你写清楚要注意什么。
首先记住一个核心对应关系:你的NVIDIA驱动版本 ≥ CUDA版本 ≥ 你安装的PyTorch/TensorFlow编译时使用的CUDA版本。三者必须对应,否则无法使用GPU。这里整理了一个常用框架版本的对应表,直接对照着选就行:
| PyTorch版本 | 推荐CUDA版本 | 支持Python版本 | TensorFlow版本 | 推荐CUDA版本 |
|---|---|---|---|---|
| 2.0.x | 11.7 / 11.8 | 3.8-3.11 | 2.15.x | 12.2 |
| 2.1.x | 12.1 | 3.8-3.12 | 2.16.x | 12.3 |
| 2.2.x | 12.1 | 3.8-3.12 | 2.17.x | 12.3 |
新手可以直接选择CUDA 11.8或12.1。个人角度推荐CUDA 11.8,因为它的兼容性更好,很多旧项目也能用。
3.1 第一步:安装NVIDIA驱动
首先需要装NVIDIA驱动。很多人以为装CUDA时会自动装驱动,其实手动安装最新的官方驱动更稳定。
- Windows用户: 打开NVIDIA驱动下载官网,输入你的显卡型号,搜索后下载最新的Game Ready驱动。安装时一路“下一步”就行,安装完成后重启电脑。
装完驱动后,打开cmd输入 nvidia-smi,如果能输出你的显卡信息和驱动版本,就说明驱动装对了。注意看第一行右边的 CUDA Version,那个是你的驱动支持的最高CUDA版本。只要你要装的CUDA版本低于这个数,就没问题。比如输出是12.2,那装11.8或12.1都可以。
- Linux服务器用户: 一般服务器装驱动比较麻烦。如果是新买的云服务器,自带的镜像可能就有驱动和CUDA。可以先输入
nvidia-smi看看。能出结果就说明已经装好了;出不来,再自己装。这里不展开服务器装驱动的具体步骤了,一般买GPU服务器时,直接选带AI环境的镜像,能省很多事。
3.2 第二步:安装CUDA Toolkit
驱动装好后,接下来安装CUDA Toolkit。前往CUDA官网下载,选择你需要的版本(比如11.8),然后选择对应你操作系统的版本。
Windows安装步骤:
- 双击打开安装包,第一步会让你选解压路径,默认就好,点OK。
- 进入安装向导后,选择“自定义(高级)”安装。
- 重点: 如果已经装了NVIDIA驱动,请务必把“CUDA”下面的“Display Driver”的勾去掉!不要重复装驱动,否则可能出问题。其他保持默认勾选即可。
- 选择安装路径,默认装在C盘的
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8就行,不用改。 - 点下一步安装,等待完成。
- 安装完成后,检查环境变量。右键“此电脑” → “属性” → “高级系统设置” → “环境变量”。在系统变量的
Path中,检查是否有以下两个路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp。一般会自动添加,如果没有就手动添加上。
验证CUDA安装成功:打开cmd,输入 nvcc -V,会输出版本信息。
Linux安装步骤:
同样在官网下载run文件安装:
- 给run文件加权限:
chmod +x cuda_11.8.0_520.61.05_linux.run - 运行安装:
sudo ./cuda_11.8.0_520.61.05_linux.run - 加载完成后,输入
accept回车,同意协议。 - 在选项里,如果已经装了驱动,用方向键把
Driver那一行的X取消掉,然后选中Install回车。 - 安装完成后,添加环境变量。打开
~/.bashrc(zsh则是~/.zshrc),在最后添加:
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
保存退出后,执行 source ~/.bashrc,再输入 nvcc -V 验证。
3.3 第三步:安装cuDNN
cuDNN的安装其实很简单,就是把几个文件复制到CUDA的安装目录里。很多新手以为要单独安装,其实不用:
- 去NVIDIA cuDNN官网下载,注意要下载和你CUDA版本对应的cuDNN。比如你装的是CUDA11.8,就下载对应
cuDNN for CUDA 11.x的版本,选最新的稳定版就行。 - 下载下来是一个压缩包,解压后里面有
bin、include、lib三个文件夹。 - 把这三个文件夹复制到你的CUDA安装根目录,直接合并即可:
- Windows: CUDA根目录是
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8,粘贴进去,提示重复文件就选择替换,搞定。 - Linux: 用命令复制:
sudo cp include/cudnn*.h /usr/local/cuda-11.8/include,然后sudo cp lib64/libcudnn* /usr/local/cuda-11.8/lib64,搞定。
- Windows: CUDA根目录是
到这一步,CUDA+cuDNN就算全部装好了,接下来就可以装深度学习框架了。
四、安装深度学习框架:PyTorch和TensorFlow
4.1 安装PyTorch(推荐新手优先装这个)
首先激活之前创建的ai环境:conda activate ai。
然后分情况来看安装命令:
(1)NVIDIA GPU用户(Windows/Linux)
打开PyTorch官网,选择你对应的版本:
- PyTorch Build选
Stable(稳定版) - Your OS选你对应的系统
- Package选
Conda - Language选
Python - CUDA选你装好的CUDA版本,比如11.8或12.1
下面会自动生成安装命令,直接复制到终端运行即可。比如CUDA 11.8的命令是:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
复制运行,等待完成。
(2)CPU Only用户(没有NVIDIA显卡)
在官网选择 CPU,生成命令后直接安装:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
(3)苹果M系列芯片用户
M芯片的PyTorch稳定版已原生支持,直接用这个命令:
conda install pytorch torchvision torchaudio -c pytorch
它会自动适配M芯片的Metal加速。
4.2 验证PyTorch安装是否成功
装完之后,来验证一下。在激活的ai环境下输入 python,进入Python交互环境,然后输入:
import torch
print(torch.__version__)
# NVIDIA用户看这个
print(torch.cuda.is_a vailable())
# M芯片用户看这个
print(torch.backends.mps.is_a vailable())
看看输出:
- NVIDIA用户: 如果输出
True,恭喜,安装成功,GPU可以用了!如果输出False,别慌,后面的常见问题排查部分会帮你一步步找到原因。 - M芯片用户: 输出
True就是成功,MPS加速已就绪。 - CPU用户: 只要能正常
import,并输出版本号,就是成功。
4.3 安装TensorFlow(需要才装,入门可以先跳过)
如果你需要安装TensorFlow:
- NVIDIA GPU用户: 直接用pip安装对应版本的TensorFlow,比如装2.15版本:
pip install tensorflow==2.15.0
验证方式:进入Python,运行:
import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices('GPU'))
能输出GPU信息就是成功。
- M芯片用户: TensorFlow对M芯片的支持不如PyTorch,需要安装专门的苹果版本,入门阶段用PyTorch完全足够。
五、安装常用开发工具
框架装好后,接下来安装开发工具,写代码、调试都会用到。
5.1 VS Code:最常用的代码编辑器
新手朋友建议用VS Code。免费、开源、插件丰富、体积小,用起来很舒服。下载地址是VS Code官网,下载对应系统的版本,一路下一步安装即可。
装完VS Code后,有几个插件是必须装的。打开扩展商店,搜索并安装:
- Python: 微软官方的Python插件,提供语法高亮、代码提示、调试支持,必须装。
- Pylance: 配合Python插件,提供更快的代码提示,必装。
- Jupyter: AI开发常用Jupyter Notebook来写测试代码、跑小实验。这个插件让你直接在VS Code里打开并运行Notebook,非常方便,必装。
- Code Spell Checker: 拼写检查,写代码、写注释时帮你避免拼错单词,很实用。
- GitLens: 如果你用Git管理代码,这个插件能显示每一行代码是谁改的、什么时候改的,非常方便。
装完插件后,需配置一下VS Code的Python解释器。打开一个.py文件,点击右下角的Python版本,选择刚才创建的 ai 环境的Python解释器。这样VS Code就会用ai环境的Python来运行代码,不会用错。
如果你习惯用PyCharm也可以,社区版免费,足够AI开发用。专业版学生可以凭学生证免费申请,功能更全。看个人习惯,小项目用VS Code,大项目用PyCharm,都挺好用。
5.2 Git:代码版本管理工具
做开发必须会用Git,用来管理代码、备份到Github,也方便协作。下载地址是Git官网,下载对应系统版本,一路下一步安装。Windows安装时注意默认选项,最后把Git加到PATH里。装好后,打开cmd输入 git --version,输出版本号就是成功。
5.3 常用Python库安装
AI开发还需要很多常用的第三方库,我们一次性装上。在激活的ai环境下输入:
pip install numpy pandas matplotlib opencv-python scikit-learn jupyter
这些都是最常用的:
- numpy: 数值计算库,所有AI框架的基础。
- pandas: 数据处理库,处理表格数据非常方便。
- matplotlib: 画图工具,画损失曲线、结果图都用它。
- opencv-python: 图像处理库,做计算机视觉项目必备。
- scikit-learn: 传统机器学习算法库,入门学习必备。
- jupyter: 跑小实验、写笔记的利器。
装完这些,基础环境就基本齐了,以后用到什么库再单独装就行。
六、常见问题排查:这些年踩过的坑,一次性帮你填平
很多人装完之后会遇到各种问题,别急,99%的问题都集中在下面这些,对着排查就行:
问题1:conda命令找不到,提示不是内部或外部命令
原因: 安装Anaconda时没把conda加到PATH里。
解决方法:
- Windows: 找到Anaconda安装目录,把
D:\dev\Anaconda3和D:\dev\Anaconda3\Scripts这两个路径(改成你自己的路径)加到系统环境变量的Path里,重启cmd即可。 - Linux/Mac: 打开
~/.bashrc或~/.zshrc,添加export PATH="你的Anaconda安装路径/bin:$PATH",然后source一下。
问题2:下载包的时候一直超时,下载失败
原因: 没换源,或者源没换对。
解决方法: 回到前面换源的步骤,重新按教程配置清华源。换完后清除一下缓存再试。如果还是慢,试试换手机热点,有时是家庭网络的问题。
问题3:PyTorch装完,torch.cuda.is_a vailable()一直输出False
这是最常见的问题,按下面的顺序一步步排查:
- 是不是装了CPU版本? 很多人复制命令时不小心复制成了CPU版本。进入Python,输入
print(torch.version.cuda),如果输出None,说明装的就是CPU版本。卸载了重新装GPU版本:conda uninstall pytorch,然后重新安装对应CUDA版本的GPU版。 - CUDA版本是否对应? 比如装的CUDA是11.8,但装的PyTorch是给CUDA12.1编译的,就无法对应。卸载后重新安装对应版本的PyTorch。
- NVIDIA驱动是否够新? 驱动版本必须高于CUDA版本的要求。比如CUDA11.8要求驱动版本至少450.80.02以上。如果驱动太老,去官网更新最新驱动。
- 环境变量是否正确? Windows下检查CUDA的bin目录是否在PATH中;Linux下检查LD_LIBRARY_PATH是否正确。改完后重启终端再试。
曾经遇到过一个很奇葩的情况:装了多个版本的CUDA,旧版本的路径在新版本前面,导致PyTorch读到了旧版本,一直识别不了。把新版本路径移到前面就好了。如果你装了多个CUDA版本,一定要注意环境变量的顺序。
问题4:M芯片装完PyTorch,torch.backends.mps.is_a vailable()输出False
原因: 装的PyTorch版本太老。M芯片的加速支持是1.12版本之后才有的。现在稳定版2.0以上都支持,卸载旧版本,直接装最新的稳定版即可。
问题5:包版本冲突,一个依赖xxx版本,另一个依赖yyy版本
原因: 所有包都装在同一个环境里,时间久了就会冲突。
解决方法: 早就说了,用虚拟环境!不同项目用不同的虚拟环境,一个项目一个环境,永远不会冲突。创建虚拟环境真的很重要,千万别一直在base环境里折腾。
问题6:VS Code运行代码时,提示No module named xxx
原因: VS Code选错了Python解释器。
解决方法: 点击VS Code右下角的Python版本,选择ai环境的Python解释器。路径一般是 ~/anaconda3/envs/ai/bin/python(Linux/Mac)或 anaconda3\envs\ai\python.exe(Windows),选对就好了。
七、跑通第一个测试项目:验证环境完全可用
环境搭好了,我们来跑一个简单的手写数字识别项目,验证所有环节是否正常,也给你一点成就感。
打开VS Code,激活ai环境,新建一个文件叫 test_mnist.py,把下面的代码复制进去,注释都写好了,直接运行即可:
import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
# 定义简单的卷积神经网络
class SimpleCNN(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 16, kernel_size=3, padding=1)
self.relu1 = nn.ReLU()
self.pool1 = nn.MaxPool2d(2)
self.conv2 = nn.Conv2d(16, 32, kernel_size=3, padding=1)
self.relu2 = nn.ReLU()
self.pool2 = nn.MaxPool2d(2)
self.fc1 = nn.Linear(32 * 7 * 7, 10)
def forward(self, x):
x = self.pool1(self.relu1(self.conv1(x)))
x = self.pool2(self.relu2(self.conv2(x)))
x = x.view(x.size(0), -1)
x = self.fc1(x)
return x
# 设置设备,GPU能用就用GPU,否则用CPU
device = torch.device("cuda" if torch.cuda.is_a vailable() else "mps" if torch.backends.mps.is_a vailable() else "cpu")
print(f"使用设备: {device}")
# 数据预处理
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.1307,), (0.3081,))
])
# 下载MNIST数据集,第一次运行会自动下载
train_dataset = datasets.MNIST(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=64, shuffle=False)
# 初始化模型、损失函数、优化器
model = SimpleCNN().to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
# 训练5轮
for epoch in range(5):
model.train()
running_loss = 0.0
for batch_idx, (data, target) in enumerate(train_loader):
data, target = data.to(device), target.to(device)
optimizer.zero_grad()
output = model(data)
loss = criterion(output, target)
loss.backward()
optimizer.step()
running_loss += loss.item()
if batch_idx % 100 == 99:
print(f"轮次: {epoch+1}, 批次: {batch_idx+1}, 平均损失: {running_loss/100:.3f}")
running_loss = 0.0
# 测试准确率
model.eval()
correct = 0
total = 0
with torch.no_grad():
for data, target in test_loader:
data, target = data.to(device), target.to(device)
output = model(data)
_, predicted = torch.max(output.data, 1)
total += target.size(0)
correct += (predicted == target).sum().item()
print(f"测试集准确率: {100 * correct / total:.2f}%")
运行之后,你会看到:
- 首先输出你使用的设备,如果是GPU就是
cuda,M芯片是mps,CPU是cpu。这说明加速配置是正确的。 - 然后会自动下载MNIST数据集,开始训练。如果用的是3060级别的GPU,整个训练不到一分钟就能跑完,最后准确率大概在98%以上,说明一切正常。
- 如果用的是CPU,训练大概需要3-5分钟,也能跑完,结果同样正确,说明环境没有问题。
能跑完这个项目,说明你的整个AI开发环境就完全搭好了,所有功能都正常。可以信心满满地开始接下来的学习了。
总结
从零搭建环境确实是一件磨人的事。当初自己折腾了三天,现在你照着这份教程,最多两小时就能搞定。大部分可能遇到的问题都在上面列出来了,照着排查基本都能解决。
- 不要怕出错: 搭环境本身就是一个踩坑、排坑的过程。出了问题很正常,把错误信息复制下来去搜索,99%的问题都有人遇到过,都有解决方案。解决一次你就记住了,下次就不会再踩了。
- 一定要用虚拟环境: 见过太多人把所有包都装在base环境里,半年后环境乱到根本无法用,最后只能全部卸载重装。一个项目一个环境,才是省心的王道。
