【深度学习Day1】从MATLAB到PyTorch:手把手教你在双卡2080Ti上搭建深度学习环境
作为一名深耕算法但只精通MATLAB的“半吊子”工程师,最近找工作时被狠狠上了一课——简历里写满MATLAB算法实现,却被面试官追问“是否熟悉PyTorch/CUDA部署”,几次下来才意识到:MATLAB虽好用,但在工业界的深度学习落地场景里,Python+PyTorch才是主流。为了拿下心仪的算法岗,我下定决心从零开始,把深度学习环境从0到1搭起来。本文全程记录我在双卡RTX 2080Ti机器上配置环境的踩坑与收获,希望能帮到和我一样从MATLAB转深度学习的小白。
💡 为什么转行?(找工作倒逼的选择)
一直用MATLAB做算法原型开发,不管是矩阵运算还是信号处理,拖拖控件、写写脚本就能搞定,一度觉得“够用就行”。但今年秋招/社招投递计算机视觉(CV)算法岗时,几乎所有岗位的任职要求都标注“熟练使用PyTorch/TensorFlow搭建深度学习模型”“熟悉CUDA加速”,甚至有面试官直言“MATLAB做科研可以,但落地项目没人用”。
眼看心仪的岗位因为工具栈不匹配屡屡错失,我咬咬牙决定:放弃“舒适区”,从环境配置开始,把深度学习的基础工具啃下来。而第一步,就是搞定PyTorch的GPU环境——毕竟CV模型训练离不开显卡,双卡2080Ti的硬件不能浪费。
1. 观念转变:Anaconda是什么?
用MATLAB时,我习惯了“一键安装、全家桶全包”:装完MATLAB,矩阵运算、绘图、甚至并行计算都内置好了,不用操心“环境”这个概念。但转到Python后,第一个困惑就是:为什么装个PyTorch还要先装Anaconda?
后来查了资料才懂:Anaconda本质是“Python环境管理器+包仓库”。可以把它理解成一个“大公寓”,里面能隔出很多独立的“小房间”(虚拟环境):比如这个房间装Python 3.12+PyTorch 2.5(做深度学习),那个房间装Python 3.9+OpenCV(做图像处理),房间之间互不干扰,不会出现“装了新包导致旧代码报错”的问题。
对新手来说,这一点太重要了——我一开始直接在系统Python里装包,结果装完PyTorch后,之前装的OpenCV就报错了,折腾了半天才知道是版本冲突。用Anaconda创建独立环境,能从根源避免这个问题。
2. 安装流程实录(双卡2080Ti亲测)
前置准备:下载Anaconda
先去Anaconda官网(www.anaconda.com/download)下载… 10),安装时注意:
- 勾选“Add Anaconda3 to my PATH environment variable”(方便终端调用);
- 安装路径选非C盘(避免占用系统盘空间)。
第一步:显卡驱动(Driver)—— 重中之重
我的电脑配置是2×NVIDIA RTX 2080Ti,显卡驱动是基础中的基础:如果驱动版本太低,新的PyTorch(基于CUDA 11.8/12.x)根本识别不到显卡,最后装成CPU版本,训练速度慢到崩溃。
操作步骤:
- 打开GeForce Experience(没有就去NVIDIA官网下载);
- 点击“驱动程序”→“检查更新”;
- 安装适配2080Ti的最新驱动(我装的是537.58版本,亲测兼容CUDA 11.8)。
✅ 避坑指南:
- 不用手动装CUDA Toolkit!PyTorch会自带适配的CUDA运行时,手动装的CUDA反而容易版本冲突;
- 2080Ti属于老架构(Turing),最高兼容CUDA 12.1,实测CUDA 11.8最稳定,不建议追最新的CUDA 12.4。
第二步:创建虚拟环境
不要直接用系统Python装包!打开Anaconda Prompt(开始菜单搜就能找到),输入以下命令:
# 创建名为dl_env的虚拟环境,指定Python 3.12(亲测兼容)
conda create -n dl_env python=3.12
# 按提示输入y,等待环境创建完成
# 激活这个环境(每次使用PyTorch都要先激活)
conda activate dl_env
激活成功后,终端前面会显示(dl_env),说明已经进入独立环境了。
第三步:安装PyTorch(GPU版)—— 最容易出错的一步
新手最容易踩的坑:直接用pip install torch,结果装的是CPU版本,训练模型时显卡全程“摸鱼”。**一定要去PyTorch官网(pytorch.org/get-started…
针对我的双卡2080Ti+CUDA 11.8,我用的命令是:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
✅ 避坑指南:
- 不要用conda装PyTorch!conda源的GPU版本更新慢,容易装错;
- 下载慢的话,优先挂代理;如果没有代理,可临时换清华源,但装完后一定要验证是否是GPU版本(后面会说)。
3. 验证环境(附完整测试代码)
安装完心里没底?写个脚本检查显卡是否被识别、双卡是否可用,复制以下代码保存为test_env.py:
import torch
import sys
# 基础信息打印
print(f"Python 版本: {sys.version.split()[0]}")
print(f"PyTorch 版本: {torch.__version__}")
print("-" * 40)
# CUDA可用性检查
print(f"CUDA 是否可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
# 双卡信息打印
gpu_num = torch.cuda.device_count()
print(f"检测到显卡数量: {gpu_num}")
for i in range(gpu_num):
gpu_name = torch.cuda.get_device_name(i)
gpu_mem = torch.cuda.get_device_properties(i).total_memory / 1024**3
print(f" -> 显卡 {i}: {gpu_name}")
print(f" 显存大小: {gpu_mem:.2f} GB")
# 测试GPU矩阵运算(指定cuda:0)
x = torch.rand(3, 3).cuda(0)
print("\nGPU 矩阵测试 (cuda:0):\n", x)
# 测试第二个显卡(cuda:1)
y = torch.rand(3, 3).cuda(1)
print("GPU 矩阵测试 (cuda:1):\n", y)
else:
print("❌ 未识别到GPU,可能装了CPU版本的PyTorch!")
我的运行结果(双卡2080Ti):
Python 版本: 3.12.7
PyTorch 版本: 2.5.1+cu118
----------------------------------------
CUDA 是否可用: True
检测到显卡数量: 2
-> 显卡 0: NVIDIA GeForce RTX 2080 Ti
显存大小: 11.00 GB
-> 显卡 1: NVIDIA GeForce RTX 2080 Ti
显存大小: 11.00 GB
GPU 矩阵测试 (cuda:0):
tensor([[0.5800, 0.6687, 0.6866],
[0.2795, 0.9715, 0.6543],
[0.7748, 0.8943, 0.8410]], device='cuda:0')
GPU 矩阵测试 (cuda:1):
tensor([[0.1234, 0.5678, 0.9012],
[0.3456, 0.7890, 0.2345],
[0.6789, 0.0123, 0.4567]], device='cuda:1')
看到这个结果,就说明环境搭建成功了!
4. 遇到的问题与心得(找工作小白的踩坑记录)
① Python版本不用“求稳”,新一点也可以
一开始看很多教程推荐Python 3.8/3.9,说“兼容性最好”,但我装Anaconda时默认带了Python 3.12,抱着“试试水”的心态没改,结果发现PyTorch 2.5完美支持!后来查资料才知道,PyTorch从2.0版本开始就对Python 3.12做了适配,只要不是太老的显卡(比如1080Ti之前),新版本Python完全能用。
② 下载速度慢?优先官方源,别乱换国内源
一开始用pip装PyTorch时,速度只有几十KB/s,忍不住换了清华源,结果装出来是CPU版本!后来才知道:国内源的PyTorch GPU版本更新滞后,容易装错。最后挂了代理,从官方源下载,虽然等了10分钟,但一次装对了。
③ 双卡使用小提示(给找工作的同学)
如果后续训练模型想用到双卡,可以用torch.cuda.device('cuda:1')指定第二个显卡,或者用DataParallel做多卡并行——这部分我会在后续博客里详细讲,毕竟找工作时,多卡训练也是面试官可能问到的点。
④ 别依赖“一键脚本”,手动走一遍才懂
网上很多“一键配置环境”的脚本,我一开始也想偷懒,但运行后报错一堆。手动走一遍安装流程,才搞懂“驱动-CUDA-PyTorch”的对应关系,这些基础概念对后续找工作面试也有帮助。
下期预告
环境搭好了,下一篇我将从MATLAB用户的视角,对比讲解PyTorch核心的Tensor(张量)操作——比如MATLAB的矩阵乘法* vs PyTorch的torch.matmul,MATLAB的reshape vs PyTorch的view,帮和我一样的MATLAB小白快速切换思维,为后续搭建CV模型打基础。
最后想说:从MATLAB转深度学习一开始确实难,但为了心仪的算法岗,慢一点没关系,每一步踩实就好。如果这篇文章帮到你,欢迎点赞收藏,咱们一起从0到1学深度学习!
总结
- 从MATLAB转PyTorch的核心第一步是环境隔离,用Anaconda创建虚拟环境能避免版本冲突,新手必做;
- 安装PyTorch GPU版时,一定要从官网复制对应CUDA版本的命令,避免装成CPU版;
- 双卡2080Ti适配CUDA 11.8最稳定,Python 3.12可直接使用,无需刻意降级。