1. 项目概述为什么你需要一个专属的AI测试环境如果你对AI感兴趣无论是想跑通一个开源的大模型测试某个AI框架还是想自己动手训练一个简单的图像分类模型第一步往往不是写代码而是搭建环境。我见过太多新手包括几年前的我自己兴致勃勃地打开教程结果在“环境配置”这一步就卡了几天最终热情耗尽项目搁浅。问题出在哪不是教程不好而是每个人的电脑环境千差万别——操作系统版本、Python解释器、CUDA驱动、依赖库冲突……任何一个环节的微小差异都可能导致“魔法失效”。所以“零基础搭建AI测试环境”这个事核心价值在于创造一个纯净、可控、可复现的沙箱。它让你能在一个隔离的空间里自由地安装、卸载、测试各种AI工具和模型而不用担心搞乱你的主力工作环境。这就像木工需要一个独立的工作台厨师需要一个干净的灶台而不是在客厅地板上直接开工。对于AI学习者和开发者而言一个配置得当的测试环境是通往实践探索最坚实、最省心的第一步。本教程的目标就是带你从零开始用最主流、最稳妥的方式搭建一个功能完备的AI测试环境。我们将聚焦于Python生态因为目前绝大多数AI框架如PyTorch, TensorFlow, LangChain等和模型库都围绕它构建。整个过程我会尽量避开那些容易让人迷惑的“黑话”用最直白的操作和解释让你不仅能“搭起来”更能理解“为什么这么搭”。2. 环境搭建的核心思路与工具选型搭建环境不是胡乱安装一堆软件而是有策略地构建一个层次分明的技术栈。我们的核心思路是操作系统 - 包/环境管理工具 - Python解释器 - 深度学习框架 - 辅助工具。每一层都为上一层提供稳定的基础。2.1 操作系统Windows、macOS还是Linux这是第一道选择题。我的建议非常明确对于AI开发Linux特别是Ubuntu是首选Windows次之macOS尤其是M系列芯片需要额外注意兼容性。Linux (Ubuntu 20.04/22.04 LTS)这是AI社区的事实标准。几乎所有框架的官方文档、开源项目的安装脚本都优先针对Linux进行测试。其命令行环境的强大、包管理的便捷apt-get以及对NVIDIA GPU驱动的原生友好支持都让它成为生产环境和严肃学习的不二之选。如果你有一台可以安装Linux的电脑或虚拟机强烈建议从这里开始。Windows 10/11随着WSL2Windows Subsystem for Linux 2的成熟Windows用户现在可以在不离开Windows的情况下获得一个近乎完整的Linux内核体验。这意味着你可以在Windows上享受Linux的开发环境。对于绝大多数AI学习和测试WSL2已经完全够用并且能直接调用Windows主机上的NVIDIA GPU需要特定版本的驱动和WSL2支持。这是Windows用户的最佳路径。macOSApple Silicon (M1/M2/M3) 芯片的Mac在性能上很出色但AI生态的兼容性仍在追赶。PyTorch和TensorFlow都有针对ARM架构的版本但一些底层库或特定版本的CUDA加速库可能无法使用。对于入门和测试许多基于CPU的模型没问题但如果想深入GPU加速的深度学习可能会遇到更多障碍。实操心得如果你是纯新手手头只有Windows电脑别纠结直接用WSL2。它完美平衡了易用性和兼容性。准备一个至少50GB空闲空间的C盘或D盘分区给WSL用。2.2 环境管理神器Conda vs. venv这是避免“依赖地狱”的关键。想象一下项目A需要TensorFlow 2.8项目B需要TensorFlow 1.15系统里只能装一个版本怎么办环境管理工具就是为每个项目创建独立的“房间”房间里的Python版本、库版本互不干扰。Anaconda/Miniconda这是一个“全家桶”方案。Conda本身既是一个包管理器可以安装Python库也可以安装非Python的二进制工具如FFmpeg也是一个环境管理器。它的优势是开箱即用特别是其官方渠道预编译了许多科学计算和机器学习库通过conda-forge或defaults频道在Windows上安装一些复杂依赖如SciPy时比pip更省心。缺点是体积较大Anaconda尤其大且有些前沿的PyPI包可能更新不及时。Python venv pip这是Python官方推荐的标准工具组合。venv或virtualenv只负责创建隔离的Python环境包管理完全交给pip。它的好处是轻量、纯粹与PyPIPython官方的包仓库同步最快是大多数开源Python项目的首选依赖管理方式。在Linux/macOS和WSL2中它的使用体验非常流畅。我的选择与理由对于AI测试环境搭建我推荐使用Miniconda。原因如下省心在安装PyTorch、TensorFlow这种涉及CUDA工具链的复杂库时Conda可以一键处理包括CUDA运行时、cudnn在内的所有系统级依赖而pip可能需要你手动确保系统环境正确。这对新手是巨大的福音。隔离更彻底Conda环境不仅能隔离Python包还能隔离Python解释器本身。你可以轻松创建Python 3.9、3.10、3.11等不同版本的环境。Miniconda足够轻量它只包含Conda、Python和一些核心依赖不像Anaconda预装了数百个你可能用不上的包节省磁盘空间。当然如果你追求极致的轻量和与开源社区工作流的统一venvpip也是完全可行的优秀方案。本教程后续将以Miniconda为例进行演示。2.3 深度学习框架PyTorch vs. TensorFlow这是AI测试环境里的“主角”。目前社区两强并立。PyTorch由Facebook现MetaAI研究院推出以其动态计算图和Pythonic的设计哲学著称。它更灵活调试直观像写普通Python代码一样在研究领域和学术界占据绝对主导地位绝大多数最新的论文代码都用PyTorch实现。对于从零开始学习深度学习原理和进行实验性研究PyTorch的友好度更高。TensorFlow由Google推出早期以静态计算图和强大的生产部署能力闻名。其2.x版本已全面拥抱了Eager Execution动态图模式大大提升了易用性。TensorFlow在工业界、移动端和边缘设备部署、以及使用Keras高级API进行快速原型开发方面仍有其深厚积累和优势。对于搭建测试环境的新手我的建议是优先选择PyTorch。原因在于其安装过程相对简单尤其是通过Conda社区活跃教程和资源特别是紧跟前沿的极其丰富。你在这个环境中跑通大多数开源AI项目的成功率会更高。当然环境是独立的你完全可以在另一个Conda环境里安装TensorFlow两者毫无冲突。2.4 辅助工具选型一个高效的测试环境离不开好用的工具。代码编辑器/IDEVS Code是当前的首选。它轻量、免费、插件生态极其丰富。安装Python插件、Pylance语言服务器、Jupyter插件后对AI开发的支持非常到位无论是写脚本还是运行Jupyter Notebook都很流畅。PyCharm专业版功能更强大但收费社区版对科学计算支持稍弱。终端Windows用户推荐使用Windows Terminal美观且功能强大。在WSL2中就使用Ubuntu自带的bash或zsh即可。版本控制Git是必备技能。用于克隆开源项目、管理自己的代码。配合GitHub或Gitee使用。CUDA与cuDNN如果你的电脑有NVIDIA GPU并想使用GPU加速这是必须的。CUDA是NVIDIA的通用并行计算平台cuDNN是针对深度神经网络的GPU加速库。幸运的是如果你通过Conda安装PyTorch或TensorFlow的GPU版本Conda通常会帮你自动解决对应版本的CUDA和cuDNN依赖无需单独手动安装复杂系统驱动这是Conda在AI环境搭建中的巨大优势。3. 手把手搭建步骤详解以WindowsWSL2Miniconda为例这个组合能覆盖最广泛的用户且搭建过程具有代表性。其他系统纯Linux、macOS的步骤大同小异核心是Conda的使用。3.1 第一步启用WSL2并安装Ubuntu启用WSL功能以管理员身份打开PowerShell运行wsl --install这个命令会默认安装WSL2和Ubuntu发行版。如果系统提示需要请重启电脑。设置WSL版本为WSL2确保已是WSL2wsl --set-default-version 2启动Ubuntu从开始菜单找到Ubuntu应用并打开完成新用户的创建设置用户名和密码。3.2 第二步在WSL2中安装Miniconda在Ubuntu终端中下载最新的Miniconda安装脚本以Linux 64位为例wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh安装过程中一直按回车阅读许可协议输入yes同意。当问及安装路径时用默认的/home/你的用户名/miniconda3即可。最后安装程序会问是否初始化Conda选择yes。这会将Conda的基础环境添加到你的shell配置文件中如.bashrc。激活配置关闭当前终端重新打开一个Ubuntu终端。你会发现命令行前面多了(base)字样这表示你已经在Conda的base基础环境中了。3.3 第三步创建专属的AI测试环境我们绝不建议在base环境里直接安装各种包。创建一个独立环境是专业习惯。创建一个名为ai_test名字可自定的新环境并指定Python版本为3.10一个兼容性较好的版本conda create -n ai_test python3.10输入y确认安装。激活这个新环境conda activate ai_test命令行提示符会从(base)变为(ai_test)。3.4 第四步安装PyTorchGPU版本这是最关键的一步。前往 PyTorch官网 利用其提供的安装命令生成器。根据你的配置选择PyTorch Build选Stable、你的操作系统Linux、包管理器Conda、语言Python、计算平台CUDA 11.8。如果你的GPU较新可以选更高版本的CUDA但11.8是目前兼容性最广的版本之一。网站会生成如下命令conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia在你的(ai_test)环境中运行上述命令。Conda会自动解析并安装PyTorch及其所有依赖包括指定版本的CUDA运行时库。这个过程会下载约2-3GB的内容请保持网络通畅。验证安装安装完成后在Python交互环境中测试python -c import torch; print(torch.__version__); print(torch.cuda.is_available())如果输出PyTorch版本号如2.1.0和True那么恭喜你一个支持GPU加速的PyTorch环境已经配置成功如果输出False请检查你的WSL2内是否识别到了GPU可通过nvidia-smi命令在WSL2终端中尝试但前提是Windows主机已安装正确的、支持WSL2的NVIDIA驱动。3.5 第五步安装常用数据科学与可视化库一个AI测试环境离不开数据处理和结果可视化的帮手。conda install numpy pandas matplotlib scikit-learn jupyter notebook -ynumpy数值计算基石。pandas数据处理与分析。matplotlib绘图与可视化。scikit-learn传统机器学习算法库。jupyter notebook交互式编程环境非常适合AI领域的实验和演示。3.6 第六步配置VS Code连接WSL2让我们在舒适的VS Code界面中操作WSL2里的环境。在Windows上安装VS Code。在VS Code中安装官方扩展“WSL”和“Python”。点击VS Code左下角的绿色远程连接图标选择“连接到WSL”。在新打开的VS Code窗口中打开一个WSL中的文件夹例如/home/你的用户名/projects。按CtrlShiftP打开命令面板输入“Python: Select Interpreter”选择我们刚创建的ai_test环境下的Python解释器路径类似/home/你的用户名/miniconda3/envs/ai_test/bin/python。现在你可以在VS Code里直接使用ai_test环境运行Python脚本、打开Jupyter Notebook了享受完整的代码提示、调试等功能。4. 环境验证与第一个AI程序测试环境搭好了是骡子是马拉出来遛遛。我们跑两个经典测试。4.1 测试一GPU加速验证与张量计算创建一个Python脚本test_gpu.pyimport torch # 1. 检查CUDA是否可用 print(fPyTorch版本: {torch.__version__}) print(fCUDA是否可用: {torch.cuda.is_available()}) if torch.cuda.is_available(): # 2. 显示GPU信息 print(fGPU设备名称: {torch.cuda.get_device_name(0)}) print(fGPU设备数量: {torch.cuda.device_count()}) # 3. 进行一个简单的GPU计算测试 device torch.device(cuda:0) # 指定使用第一块GPU x torch.randn(10000, 10000).to(device) # 在GPU上创建一个随机大矩阵 y torch.randn(10000, 10000).to(device) # 矩阵乘法GPU加速 import time start time.time() z torch.matmul(x, y) elapsed_time time.time() - start print(fGPU矩阵乘法耗时: {elapsed_time:.4f} 秒) # 对比CPU计算如果需要 x_cpu x.cpu() y_cpu y.cpu() start time.time() z_cpu torch.matmul(x_cpu, y_cpu) elapsed_time_cpu time.time() - start print(fCPU矩阵乘法耗时: {elapsed_time_cpu:.4f} 秒) print(fGPU加速比: {elapsed_time_cpu / elapsed_time:.2f}x) else: print(未检测到可用GPU将使用CPU进行计算。) # 进行CPU版本的计算测试...运行这个脚本你将看到详细的GPU信息和一个直观的加速比。这是验证GPU环境是否正常工作的最直接方法。4.2 测试二运行一个简单的神经网络以MNIST分类为例在Jupyter Notebook中运行以下代码这是一个超简化的LeNet-5网络用于MNIST手写数字识别。我们主要关注环境是否能完整支持训练流程。# test_mnist.ipynb import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt # 1. 设置设备 device torch.device(cuda if torch.cuda.is_available() else cpu) print(fUsing device: {device}) # 2. 准备数据 transform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size64, shuffleTrue) # 3. 定义一个微型网络 class TinyNet(nn.Module): def __init__(self): super().__init__() self.flatten nn.Flatten() self.linear nn.Linear(28*28, 10) # MNIST图片是28x28输出10个类别 def forward(self, x): x self.flatten(x) x self.linear(x) return x model TinyNet().to(device) # 4. 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(model.parameters(), lr0.01) # 5. 训练一个周期 model.train() 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() if batch_idx % 100 0: print(fTrain Epoch: [{batch_idx}/{len(train_loader)}]\tLoss: {loss.item():.6f}) break # 为了快速测试只跑一个batch print(测试完成环境可以正常进行神经网络训练。)这个测试虽然只跑了一个批次batch但它完整地走完了数据加载、模型定义、前向传播、损失计算、反向传播、参数更新的整个深度学习流程。如果它能顺利执行并输出损失值那么你的AI测试环境在核心功能上就是完全可用的。5. 常见问题与故障排查实录即使按照教程一步步来你也可能会遇到一些“坑”。这里记录了几个最常见的问题和解决方法。5.1 Conda环境激活失败或命令未找到现象安装Miniconda后重启终端没有(base)提示输入conda命令显示command not found。原因Conda的初始化脚本没有正确添加到shell的配置文件中如~/.bashrc。解决手动初始化。对于bash运行/home/你的用户名/miniconda3/bin/conda init bash。然后关闭终端重新打开或者运行source ~/.bashrc使配置生效。如果使用zsh则将上述命令中的bash替换为zsh。5.2 PyTorch的CUDA可用性返回False现象torch.cuda.is_available()输出False但你的电脑确实有NVIDIA GPU。排查步骤检查Windows主机驱动确保安装了支持WSL2的NVIDIA GPU驱动。去NVIDIA官网下载“Windows版”驱动而不是Linux版。型号选择正确并确认驱动版本支持WSL2一般较新的Game Ready或Studio驱动都支持。在WSL2中检查GPU在Ubuntu终端输入nvidia-smi。如果驱动正确这里会显示GPU信息。如果提示命令未找到说明WSL2内没有识别到GPU驱动问题出在第一步。检查PyTorch安装命令确认安装PyTorch时选择的CUDA版本与你的驱动兼容。运行nvidia-smi查看右上角的“CUDA Version”这是驱动支持的最高CUDA运行时版本。你安装的PyTorch所依赖的CUDA运行时版本如11.8必须小于等于这个版本。例如驱动显示CUDA 12.2那么你可以安装CUDA 11.8的PyTorch。创建新环境重试有时环境混乱会导致问题。尝试创建一个全新的Conda环境严格按照PyTorch官网生成的命令重新安装。5.3 Conda安装包速度慢或失败现象conda install下载极慢或报错HTTP 000等。原因默认源服务器在国外。解决为Conda配置国内镜像源以清华源为例# 生成.condarc配置文件 conda config --set show_channel_urls yes # 编辑.condarc将内容替换为以下镜像配置 # 你可以用文本编辑器如nano ~/.condarc直接编辑.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 pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud配置后运行conda clean -i清除索引缓存再重试安装命令。5.4 Jupyter Notebook无法在浏览器中打开现象在WSL2中启动了Jupyter Notebook但复制生成的链接如http://localhost:8888/?token...到Windows浏览器中打不开。原因WSL2与Windows主机有独立的网络简单的localhost可能无法直接互通。解决启动Notebook时显式指定监听所有IPjupyter notebook --ip0.0.0.0。启动后它会生成一个带0.0.0.0的链接。你需要将其中的0.0.0.0替换为WSL2的IP地址。获取WSL2 IP的方法在Ubuntu终端输入hostname -I取第一个IP。例如输出是172.25.123.45那么浏览器中访问的地址就是http://172.25.123.45:8888/?token...。更优方案使用VS Code的Jupyter扩展。在VS Code连接WSL后直接打开.ipynb文件VS Code会自动启动内核并在编辑器内渲染Notebook无需处理浏览器和端口问题体验无缝。5.5 环境管理与项目迁移问题如何分享或备份我的环境解决Conda可以导出环境的所有依赖。导出在目标环境中运行conda env export environment.yml会生成一个YAML文件。创建别人拿到这个environment.yml文件后运行conda env create -f environment.yml就可以复现一个一模一样的环境。注意YAML文件里会包含精确的版本号和构建号为了更好的可移植性有时可以手动编辑这个文件移除版本号后的版本号只保留主要版本或者使用conda env export --from-history只导出你显式安装的包。6. 环境搭建后的进阶配置与优化基础环境跑通后你可以根据未来可能的学习方向进行一些针对性的增强。6.1 安装更多AI相关工具库根据你的兴趣方向选择性安装自然语言处理 (NLP)conda install -c conda-forge transformers datasets accelerate sentencepiece pip install langchain langchain-community langchain-openaitransformersHugging Face是NLP的基石langchain是构建AI应用链的热门框架。计算机视觉 (CV)conda install opencv pillow scikit-image pip install timmopencv用于图像处理timm提供了丰富的预训练视觉模型。强化学习 (RL)pip install gymnasium stable-baselines3模型可视化与调试pip install torchinfo tensorboardtorchinfo可以打印模型结构摘要tensorboard用于训练过程可视化。6.2 配置CUDA与cuDNN的独立安装可选虽然Conda帮我们管理了CUDA运行时但如果你需要编译一些需要完整CUDA工具链如nvcc编译器的库或者想使用特定版本的CUDA进行开发可能需要手动安装。在WSL2中安装CUDA Toolkit去NVIDIA官网下载对应版本的CUDA Toolkitrunfile (local)文件。在WSL2终端中运行sudo sh cuda_11.8.0_520.61.05_linux.run安装时务必取消勾选Driver安装因为驱动由Windows主机提供只安装Toolkit。配置环境变量将以下内容添加到~/.bashrc中export PATH/usr/local/cuda-11.8/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}然后source ~/.bashrc。现在nvcc --version应该可以显示版本信息。安装cuDNN从NVIDIA开发者网站下载对应CUDA版本的cuDNN Library for Linux (x86_64)压缩包。解压后将其中的include和lib64文件复制到CUDA安装目录sudo cp cuda/include/* /usr/local/cuda-11.8/include/ sudo cp cuda/lib64/* /usr/local/cuda-11.8/lib64/ sudo chmod ar /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*注意事项手动管理CUDA版本比较繁琐且容易与Conda环境管理的版本冲突。除非有明确需求如需要nvcc编译自定义CUDA内核否则强烈建议优先使用Conda来管理CUDA依赖让Conda处理复杂的兼容性问题。6.3 使用Docker容器作为终极隔离环境进阶如果你追求极致的环境隔离和可复现性Docker是最终的解决方案。它可以将整个系统包括操作系统层打包成一个镜像。在WSL2中安装Docker按照Docker官方文档安装Docker Engine。拉取预置的AI镜像例如PyTorch官方提供了多种版本的Docker镜像。docker pull pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime运行容器docker run -it --gpus all -v $(pwd)/my_code:/workspace -p 8888:8888 pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime /bin/bash这个命令的含义是以交互模式运行容器启用所有GPU将当前目录下的my_code文件夹挂载到容器的/workspace将容器的8888端口映射到主机最后进入bash shell。现在你就在一个全新的、纯净的、包含了指定版本PyTorch和CUDA的系统中了。所有操作都在容器内完全不影响宿主机。Docker的学习曲线稍陡但它对于管理多个复杂项目、团队协作、生产部署是无敌的工具。当你感觉Conda环境也开始变得混乱时就是考虑学习Docker的好时机。走到这里你已经拥有了一个从基础到进阶都配置妥当的AI测试环境。这个环境就像你的专属AI实验室无论是想复现一篇顶会论文的代码还是测试一个新的AI框架抑或是开始自己的第一个机器学习项目你都有了坚实可靠的起点。记住环境搭建本身不是目的利用这个环境去探索、创造、解决实际问题才是这一切准备的最终意义。
零基础搭建AI测试环境:从Python到PyTorch的完整指南
发布时间:2026/7/6 23:25:41
1. 项目概述为什么你需要一个专属的AI测试环境如果你对AI感兴趣无论是想跑通一个开源的大模型测试某个AI框架还是想自己动手训练一个简单的图像分类模型第一步往往不是写代码而是搭建环境。我见过太多新手包括几年前的我自己兴致勃勃地打开教程结果在“环境配置”这一步就卡了几天最终热情耗尽项目搁浅。问题出在哪不是教程不好而是每个人的电脑环境千差万别——操作系统版本、Python解释器、CUDA驱动、依赖库冲突……任何一个环节的微小差异都可能导致“魔法失效”。所以“零基础搭建AI测试环境”这个事核心价值在于创造一个纯净、可控、可复现的沙箱。它让你能在一个隔离的空间里自由地安装、卸载、测试各种AI工具和模型而不用担心搞乱你的主力工作环境。这就像木工需要一个独立的工作台厨师需要一个干净的灶台而不是在客厅地板上直接开工。对于AI学习者和开发者而言一个配置得当的测试环境是通往实践探索最坚实、最省心的第一步。本教程的目标就是带你从零开始用最主流、最稳妥的方式搭建一个功能完备的AI测试环境。我们将聚焦于Python生态因为目前绝大多数AI框架如PyTorch, TensorFlow, LangChain等和模型库都围绕它构建。整个过程我会尽量避开那些容易让人迷惑的“黑话”用最直白的操作和解释让你不仅能“搭起来”更能理解“为什么这么搭”。2. 环境搭建的核心思路与工具选型搭建环境不是胡乱安装一堆软件而是有策略地构建一个层次分明的技术栈。我们的核心思路是操作系统 - 包/环境管理工具 - Python解释器 - 深度学习框架 - 辅助工具。每一层都为上一层提供稳定的基础。2.1 操作系统Windows、macOS还是Linux这是第一道选择题。我的建议非常明确对于AI开发Linux特别是Ubuntu是首选Windows次之macOS尤其是M系列芯片需要额外注意兼容性。Linux (Ubuntu 20.04/22.04 LTS)这是AI社区的事实标准。几乎所有框架的官方文档、开源项目的安装脚本都优先针对Linux进行测试。其命令行环境的强大、包管理的便捷apt-get以及对NVIDIA GPU驱动的原生友好支持都让它成为生产环境和严肃学习的不二之选。如果你有一台可以安装Linux的电脑或虚拟机强烈建议从这里开始。Windows 10/11随着WSL2Windows Subsystem for Linux 2的成熟Windows用户现在可以在不离开Windows的情况下获得一个近乎完整的Linux内核体验。这意味着你可以在Windows上享受Linux的开发环境。对于绝大多数AI学习和测试WSL2已经完全够用并且能直接调用Windows主机上的NVIDIA GPU需要特定版本的驱动和WSL2支持。这是Windows用户的最佳路径。macOSApple Silicon (M1/M2/M3) 芯片的Mac在性能上很出色但AI生态的兼容性仍在追赶。PyTorch和TensorFlow都有针对ARM架构的版本但一些底层库或特定版本的CUDA加速库可能无法使用。对于入门和测试许多基于CPU的模型没问题但如果想深入GPU加速的深度学习可能会遇到更多障碍。实操心得如果你是纯新手手头只有Windows电脑别纠结直接用WSL2。它完美平衡了易用性和兼容性。准备一个至少50GB空闲空间的C盘或D盘分区给WSL用。2.2 环境管理神器Conda vs. venv这是避免“依赖地狱”的关键。想象一下项目A需要TensorFlow 2.8项目B需要TensorFlow 1.15系统里只能装一个版本怎么办环境管理工具就是为每个项目创建独立的“房间”房间里的Python版本、库版本互不干扰。Anaconda/Miniconda这是一个“全家桶”方案。Conda本身既是一个包管理器可以安装Python库也可以安装非Python的二进制工具如FFmpeg也是一个环境管理器。它的优势是开箱即用特别是其官方渠道预编译了许多科学计算和机器学习库通过conda-forge或defaults频道在Windows上安装一些复杂依赖如SciPy时比pip更省心。缺点是体积较大Anaconda尤其大且有些前沿的PyPI包可能更新不及时。Python venv pip这是Python官方推荐的标准工具组合。venv或virtualenv只负责创建隔离的Python环境包管理完全交给pip。它的好处是轻量、纯粹与PyPIPython官方的包仓库同步最快是大多数开源Python项目的首选依赖管理方式。在Linux/macOS和WSL2中它的使用体验非常流畅。我的选择与理由对于AI测试环境搭建我推荐使用Miniconda。原因如下省心在安装PyTorch、TensorFlow这种涉及CUDA工具链的复杂库时Conda可以一键处理包括CUDA运行时、cudnn在内的所有系统级依赖而pip可能需要你手动确保系统环境正确。这对新手是巨大的福音。隔离更彻底Conda环境不仅能隔离Python包还能隔离Python解释器本身。你可以轻松创建Python 3.9、3.10、3.11等不同版本的环境。Miniconda足够轻量它只包含Conda、Python和一些核心依赖不像Anaconda预装了数百个你可能用不上的包节省磁盘空间。当然如果你追求极致的轻量和与开源社区工作流的统一venvpip也是完全可行的优秀方案。本教程后续将以Miniconda为例进行演示。2.3 深度学习框架PyTorch vs. TensorFlow这是AI测试环境里的“主角”。目前社区两强并立。PyTorch由Facebook现MetaAI研究院推出以其动态计算图和Pythonic的设计哲学著称。它更灵活调试直观像写普通Python代码一样在研究领域和学术界占据绝对主导地位绝大多数最新的论文代码都用PyTorch实现。对于从零开始学习深度学习原理和进行实验性研究PyTorch的友好度更高。TensorFlow由Google推出早期以静态计算图和强大的生产部署能力闻名。其2.x版本已全面拥抱了Eager Execution动态图模式大大提升了易用性。TensorFlow在工业界、移动端和边缘设备部署、以及使用Keras高级API进行快速原型开发方面仍有其深厚积累和优势。对于搭建测试环境的新手我的建议是优先选择PyTorch。原因在于其安装过程相对简单尤其是通过Conda社区活跃教程和资源特别是紧跟前沿的极其丰富。你在这个环境中跑通大多数开源AI项目的成功率会更高。当然环境是独立的你完全可以在另一个Conda环境里安装TensorFlow两者毫无冲突。2.4 辅助工具选型一个高效的测试环境离不开好用的工具。代码编辑器/IDEVS Code是当前的首选。它轻量、免费、插件生态极其丰富。安装Python插件、Pylance语言服务器、Jupyter插件后对AI开发的支持非常到位无论是写脚本还是运行Jupyter Notebook都很流畅。PyCharm专业版功能更强大但收费社区版对科学计算支持稍弱。终端Windows用户推荐使用Windows Terminal美观且功能强大。在WSL2中就使用Ubuntu自带的bash或zsh即可。版本控制Git是必备技能。用于克隆开源项目、管理自己的代码。配合GitHub或Gitee使用。CUDA与cuDNN如果你的电脑有NVIDIA GPU并想使用GPU加速这是必须的。CUDA是NVIDIA的通用并行计算平台cuDNN是针对深度神经网络的GPU加速库。幸运的是如果你通过Conda安装PyTorch或TensorFlow的GPU版本Conda通常会帮你自动解决对应版本的CUDA和cuDNN依赖无需单独手动安装复杂系统驱动这是Conda在AI环境搭建中的巨大优势。3. 手把手搭建步骤详解以WindowsWSL2Miniconda为例这个组合能覆盖最广泛的用户且搭建过程具有代表性。其他系统纯Linux、macOS的步骤大同小异核心是Conda的使用。3.1 第一步启用WSL2并安装Ubuntu启用WSL功能以管理员身份打开PowerShell运行wsl --install这个命令会默认安装WSL2和Ubuntu发行版。如果系统提示需要请重启电脑。设置WSL版本为WSL2确保已是WSL2wsl --set-default-version 2启动Ubuntu从开始菜单找到Ubuntu应用并打开完成新用户的创建设置用户名和密码。3.2 第二步在WSL2中安装Miniconda在Ubuntu终端中下载最新的Miniconda安装脚本以Linux 64位为例wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh安装过程中一直按回车阅读许可协议输入yes同意。当问及安装路径时用默认的/home/你的用户名/miniconda3即可。最后安装程序会问是否初始化Conda选择yes。这会将Conda的基础环境添加到你的shell配置文件中如.bashrc。激活配置关闭当前终端重新打开一个Ubuntu终端。你会发现命令行前面多了(base)字样这表示你已经在Conda的base基础环境中了。3.3 第三步创建专属的AI测试环境我们绝不建议在base环境里直接安装各种包。创建一个独立环境是专业习惯。创建一个名为ai_test名字可自定的新环境并指定Python版本为3.10一个兼容性较好的版本conda create -n ai_test python3.10输入y确认安装。激活这个新环境conda activate ai_test命令行提示符会从(base)变为(ai_test)。3.4 第四步安装PyTorchGPU版本这是最关键的一步。前往 PyTorch官网 利用其提供的安装命令生成器。根据你的配置选择PyTorch Build选Stable、你的操作系统Linux、包管理器Conda、语言Python、计算平台CUDA 11.8。如果你的GPU较新可以选更高版本的CUDA但11.8是目前兼容性最广的版本之一。网站会生成如下命令conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia在你的(ai_test)环境中运行上述命令。Conda会自动解析并安装PyTorch及其所有依赖包括指定版本的CUDA运行时库。这个过程会下载约2-3GB的内容请保持网络通畅。验证安装安装完成后在Python交互环境中测试python -c import torch; print(torch.__version__); print(torch.cuda.is_available())如果输出PyTorch版本号如2.1.0和True那么恭喜你一个支持GPU加速的PyTorch环境已经配置成功如果输出False请检查你的WSL2内是否识别到了GPU可通过nvidia-smi命令在WSL2终端中尝试但前提是Windows主机已安装正确的、支持WSL2的NVIDIA驱动。3.5 第五步安装常用数据科学与可视化库一个AI测试环境离不开数据处理和结果可视化的帮手。conda install numpy pandas matplotlib scikit-learn jupyter notebook -ynumpy数值计算基石。pandas数据处理与分析。matplotlib绘图与可视化。scikit-learn传统机器学习算法库。jupyter notebook交互式编程环境非常适合AI领域的实验和演示。3.6 第六步配置VS Code连接WSL2让我们在舒适的VS Code界面中操作WSL2里的环境。在Windows上安装VS Code。在VS Code中安装官方扩展“WSL”和“Python”。点击VS Code左下角的绿色远程连接图标选择“连接到WSL”。在新打开的VS Code窗口中打开一个WSL中的文件夹例如/home/你的用户名/projects。按CtrlShiftP打开命令面板输入“Python: Select Interpreter”选择我们刚创建的ai_test环境下的Python解释器路径类似/home/你的用户名/miniconda3/envs/ai_test/bin/python。现在你可以在VS Code里直接使用ai_test环境运行Python脚本、打开Jupyter Notebook了享受完整的代码提示、调试等功能。4. 环境验证与第一个AI程序测试环境搭好了是骡子是马拉出来遛遛。我们跑两个经典测试。4.1 测试一GPU加速验证与张量计算创建一个Python脚本test_gpu.pyimport torch # 1. 检查CUDA是否可用 print(fPyTorch版本: {torch.__version__}) print(fCUDA是否可用: {torch.cuda.is_available()}) if torch.cuda.is_available(): # 2. 显示GPU信息 print(fGPU设备名称: {torch.cuda.get_device_name(0)}) print(fGPU设备数量: {torch.cuda.device_count()}) # 3. 进行一个简单的GPU计算测试 device torch.device(cuda:0) # 指定使用第一块GPU x torch.randn(10000, 10000).to(device) # 在GPU上创建一个随机大矩阵 y torch.randn(10000, 10000).to(device) # 矩阵乘法GPU加速 import time start time.time() z torch.matmul(x, y) elapsed_time time.time() - start print(fGPU矩阵乘法耗时: {elapsed_time:.4f} 秒) # 对比CPU计算如果需要 x_cpu x.cpu() y_cpu y.cpu() start time.time() z_cpu torch.matmul(x_cpu, y_cpu) elapsed_time_cpu time.time() - start print(fCPU矩阵乘法耗时: {elapsed_time_cpu:.4f} 秒) print(fGPU加速比: {elapsed_time_cpu / elapsed_time:.2f}x) else: print(未检测到可用GPU将使用CPU进行计算。) # 进行CPU版本的计算测试...运行这个脚本你将看到详细的GPU信息和一个直观的加速比。这是验证GPU环境是否正常工作的最直接方法。4.2 测试二运行一个简单的神经网络以MNIST分类为例在Jupyter Notebook中运行以下代码这是一个超简化的LeNet-5网络用于MNIST手写数字识别。我们主要关注环境是否能完整支持训练流程。# test_mnist.ipynb import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt # 1. 设置设备 device torch.device(cuda if torch.cuda.is_available() else cpu) print(fUsing device: {device}) # 2. 准备数据 transform transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) train_dataset datasets.MNIST(./data, trainTrue, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size64, shuffleTrue) # 3. 定义一个微型网络 class TinyNet(nn.Module): def __init__(self): super().__init__() self.flatten nn.Flatten() self.linear nn.Linear(28*28, 10) # MNIST图片是28x28输出10个类别 def forward(self, x): x self.flatten(x) x self.linear(x) return x model TinyNet().to(device) # 4. 定义损失函数和优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(model.parameters(), lr0.01) # 5. 训练一个周期 model.train() 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() if batch_idx % 100 0: print(fTrain Epoch: [{batch_idx}/{len(train_loader)}]\tLoss: {loss.item():.6f}) break # 为了快速测试只跑一个batch print(测试完成环境可以正常进行神经网络训练。)这个测试虽然只跑了一个批次batch但它完整地走完了数据加载、模型定义、前向传播、损失计算、反向传播、参数更新的整个深度学习流程。如果它能顺利执行并输出损失值那么你的AI测试环境在核心功能上就是完全可用的。5. 常见问题与故障排查实录即使按照教程一步步来你也可能会遇到一些“坑”。这里记录了几个最常见的问题和解决方法。5.1 Conda环境激活失败或命令未找到现象安装Miniconda后重启终端没有(base)提示输入conda命令显示command not found。原因Conda的初始化脚本没有正确添加到shell的配置文件中如~/.bashrc。解决手动初始化。对于bash运行/home/你的用户名/miniconda3/bin/conda init bash。然后关闭终端重新打开或者运行source ~/.bashrc使配置生效。如果使用zsh则将上述命令中的bash替换为zsh。5.2 PyTorch的CUDA可用性返回False现象torch.cuda.is_available()输出False但你的电脑确实有NVIDIA GPU。排查步骤检查Windows主机驱动确保安装了支持WSL2的NVIDIA GPU驱动。去NVIDIA官网下载“Windows版”驱动而不是Linux版。型号选择正确并确认驱动版本支持WSL2一般较新的Game Ready或Studio驱动都支持。在WSL2中检查GPU在Ubuntu终端输入nvidia-smi。如果驱动正确这里会显示GPU信息。如果提示命令未找到说明WSL2内没有识别到GPU驱动问题出在第一步。检查PyTorch安装命令确认安装PyTorch时选择的CUDA版本与你的驱动兼容。运行nvidia-smi查看右上角的“CUDA Version”这是驱动支持的最高CUDA运行时版本。你安装的PyTorch所依赖的CUDA运行时版本如11.8必须小于等于这个版本。例如驱动显示CUDA 12.2那么你可以安装CUDA 11.8的PyTorch。创建新环境重试有时环境混乱会导致问题。尝试创建一个全新的Conda环境严格按照PyTorch官网生成的命令重新安装。5.3 Conda安装包速度慢或失败现象conda install下载极慢或报错HTTP 000等。原因默认源服务器在国外。解决为Conda配置国内镜像源以清华源为例# 生成.condarc配置文件 conda config --set show_channel_urls yes # 编辑.condarc将内容替换为以下镜像配置 # 你可以用文本编辑器如nano ~/.condarc直接编辑.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 pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud配置后运行conda clean -i清除索引缓存再重试安装命令。5.4 Jupyter Notebook无法在浏览器中打开现象在WSL2中启动了Jupyter Notebook但复制生成的链接如http://localhost:8888/?token...到Windows浏览器中打不开。原因WSL2与Windows主机有独立的网络简单的localhost可能无法直接互通。解决启动Notebook时显式指定监听所有IPjupyter notebook --ip0.0.0.0。启动后它会生成一个带0.0.0.0的链接。你需要将其中的0.0.0.0替换为WSL2的IP地址。获取WSL2 IP的方法在Ubuntu终端输入hostname -I取第一个IP。例如输出是172.25.123.45那么浏览器中访问的地址就是http://172.25.123.45:8888/?token...。更优方案使用VS Code的Jupyter扩展。在VS Code连接WSL后直接打开.ipynb文件VS Code会自动启动内核并在编辑器内渲染Notebook无需处理浏览器和端口问题体验无缝。5.5 环境管理与项目迁移问题如何分享或备份我的环境解决Conda可以导出环境的所有依赖。导出在目标环境中运行conda env export environment.yml会生成一个YAML文件。创建别人拿到这个environment.yml文件后运行conda env create -f environment.yml就可以复现一个一模一样的环境。注意YAML文件里会包含精确的版本号和构建号为了更好的可移植性有时可以手动编辑这个文件移除版本号后的版本号只保留主要版本或者使用conda env export --from-history只导出你显式安装的包。6. 环境搭建后的进阶配置与优化基础环境跑通后你可以根据未来可能的学习方向进行一些针对性的增强。6.1 安装更多AI相关工具库根据你的兴趣方向选择性安装自然语言处理 (NLP)conda install -c conda-forge transformers datasets accelerate sentencepiece pip install langchain langchain-community langchain-openaitransformersHugging Face是NLP的基石langchain是构建AI应用链的热门框架。计算机视觉 (CV)conda install opencv pillow scikit-image pip install timmopencv用于图像处理timm提供了丰富的预训练视觉模型。强化学习 (RL)pip install gymnasium stable-baselines3模型可视化与调试pip install torchinfo tensorboardtorchinfo可以打印模型结构摘要tensorboard用于训练过程可视化。6.2 配置CUDA与cuDNN的独立安装可选虽然Conda帮我们管理了CUDA运行时但如果你需要编译一些需要完整CUDA工具链如nvcc编译器的库或者想使用特定版本的CUDA进行开发可能需要手动安装。在WSL2中安装CUDA Toolkit去NVIDIA官网下载对应版本的CUDA Toolkitrunfile (local)文件。在WSL2终端中运行sudo sh cuda_11.8.0_520.61.05_linux.run安装时务必取消勾选Driver安装因为驱动由Windows主机提供只安装Toolkit。配置环境变量将以下内容添加到~/.bashrc中export PATH/usr/local/cuda-11.8/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}然后source ~/.bashrc。现在nvcc --version应该可以显示版本信息。安装cuDNN从NVIDIA开发者网站下载对应CUDA版本的cuDNN Library for Linux (x86_64)压缩包。解压后将其中的include和lib64文件复制到CUDA安装目录sudo cp cuda/include/* /usr/local/cuda-11.8/include/ sudo cp cuda/lib64/* /usr/local/cuda-11.8/lib64/ sudo chmod ar /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*注意事项手动管理CUDA版本比较繁琐且容易与Conda环境管理的版本冲突。除非有明确需求如需要nvcc编译自定义CUDA内核否则强烈建议优先使用Conda来管理CUDA依赖让Conda处理复杂的兼容性问题。6.3 使用Docker容器作为终极隔离环境进阶如果你追求极致的环境隔离和可复现性Docker是最终的解决方案。它可以将整个系统包括操作系统层打包成一个镜像。在WSL2中安装Docker按照Docker官方文档安装Docker Engine。拉取预置的AI镜像例如PyTorch官方提供了多种版本的Docker镜像。docker pull pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime运行容器docker run -it --gpus all -v $(pwd)/my_code:/workspace -p 8888:8888 pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime /bin/bash这个命令的含义是以交互模式运行容器启用所有GPU将当前目录下的my_code文件夹挂载到容器的/workspace将容器的8888端口映射到主机最后进入bash shell。现在你就在一个全新的、纯净的、包含了指定版本PyTorch和CUDA的系统中了。所有操作都在容器内完全不影响宿主机。Docker的学习曲线稍陡但它对于管理多个复杂项目、团队协作、生产部署是无敌的工具。当你感觉Conda环境也开始变得混乱时就是考虑学习Docker的好时机。走到这里你已经拥有了一个从基础到进阶都配置妥当的AI测试环境。这个环境就像你的专属AI实验室无论是想复现一篇顶会论文的代码还是测试一个新的AI框架抑或是开始自己的第一个机器学习项目你都有了坚实可靠的起点。记住环境搭建本身不是目的利用这个环境去探索、创造、解决实际问题才是这一切准备的最终意义。