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

说实话,环境搭建这事儿,看着简单,但坑是真不少。我带过不少新人,十有八九第一周都卡在装环境上。我自己刚入行那会儿,也曾在CUDA版本不兼容的问题上折腾了两天。所以这一章,咱们就把这些准备工作捋清楚。

2.1 Python虚拟环境:给你的项目一个“隔离区”

为什么要用虚拟环境?说白了,就是防止不同项目之间的依赖打架。你想想看,项目A需要PyTorch 1.10,项目B需要PyTorch 2.0,要是装在一个环境里,迟早要出问题。

我个人习惯用 conda 来管理虚拟环境,当然 venv 也行。但做自动驾驶项目,我建议直接用 conda,因为它对CUDA相关的包管理更友好。

创建虚拟环境:

# 创建一个名为 dl_course 的环境,Python版本3.8
conda create -n dl_course python=3.8

# 激活环境
conda activate dl_course

# 退出环境
conda deactivate

小技巧: 我习惯在项目根目录放一个 environment.yml 文件,这样换机器时一条命令就能复现环境。

conda env create -f environment.yml

2.2 CUDA与cuDNN:让GPU跑起来的“发动机”

做车道线模型训练,没有GPU加速基本没法玩。CUDA就是NVIDIA GPU的“驱动程序”,而cuDNN是它的深度学习加速库。

安装步骤:

  1. 检查显卡驱动: 先确认你的NVIDIA驱动版本够新
  2. 下载CUDA Toolkit: 我建议用CUDA 11.8,兼容性最好
  3. 安装cuDNN: 记得版本要和CUDA匹配

注意: 我曾经遇到过CUDA 12.0和PyTorch 1.13不兼容的情况,折腾了一下午才发现是版本问题。所以建议先查好PyTorch支持的CUDA版本,再决定装哪个。

验证CUDA是否装好:

nvidia-smi
# 应该能看到GPU信息和CUDA版本

2.3 PyTorch与TensorFlow:二选一还是都要?

这个问题我经常被问到。我的建议是:车道线模型用PyTorch。为什么?因为现在学术界和工业界的主流车道线检测模型,比如LaneNet、Ultra-Fast-Lane-Detection,基本都是PyTorch实现的。

当然,如果你团队之前用TensorFlow,那也没问题。我个人两个都用过,但最近两年基本只用PyTorch了。

安装PyTorch(CUDA 11.8版本):

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

验证安装:

import torch
print(torch.__version__)        # 应该显示 2.x.x
print(torch.cuda.is_available()) # 应该返回 True

避坑指南: 我曾经在服务器上装PyTorch,结果 torch.cuda.is_available() 一直返回False。查了半天,发现是CUDA路径没加到环境变量里。所以装完后一定要跑一下这个验证代码。

2.4 ROS2环境配置:自动驾驶的“操作系统”

ROS2在自动驾驶领域越来越流行。做数据回放和模型调优时,我们经常需要把模型集成到ROS2的节点里,实时处理传感器数据。

安装ROS2 Humble(Ubuntu 22.04):

# 设置locale
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8

# 添加ROS2源
sudo apt install software-properties-common
sudo add-apt-repository universe

# 安装ROS2
sudo apt install ros-humble-desktop

# 设置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc

验证安装:

ros2 run demo_nodes_cpp talker

如果能看到节点在发布消息,那就说明装好了。

2.5 本章知识体系总览

下面这张图,是我自己总结的环境搭建核心逻辑。你照着这个顺序来,基本不会出错。

环境搭建核心流程 Python虚拟环境 CUDA + cuDNN PyTorch/TF ROS2环境 验证安装 conda create 版本匹配是关键 推荐PyTorch ros2 run验证

2.6 常见问题与解决方案

问题 原因 解决方法
conda命令找不到 Anaconda未添加到PATH 运行 export PATH=~/anaconda3/bin:$PATH
torch.cuda.is_available()为False CUDA版本不匹配或路径不对 检查 nvcc --version 和PyTorch版本
ROS2节点启动失败 环境变量未source 确保 source /opt/ros/humble/setup.bash

最后提醒一句: 装环境时别急。每装完一个组件,就验证一下。别一口气全装完再查问题,那样你根本不知道是哪个环节出了错。我当年就是吃了这个亏,装了一下午,最后全删了重来。

好了,环境搭好之后,下一章咱们就开始真正接触数据回放工具了。到时候你会看到,这些准备工作有多重要。

可可精品资料库