深度学习环境配置:Ubuntu20.04安装与优化指南
每次准备开始一个新的深度学习项目,最让人头疼的往往不是模型设计,而是环境配置。驱动版本不匹配、CUDA安装报错、依赖库冲突……这些“拦路虎”不知道劝退了多少热情满满的新手。
我自己也在这上面栽过不少跟头,花一整天时间跟环境“搏斗”是常有的事。所以今天,我想跟你分享一套经过实战检验的Ubuntu 20.04深度学习环境配置流程。这套流程的目标很明确:让你用最少的时间、最少的麻烦,搭建一个稳定、高效、随时可用的开发环境。
无论你是刚接触深度学习,还是想为你的新机器搭建一个“炼丹炉”,跟着这篇指南走,都能让你事半功倍。
1. 从零开始:Ubuntu 20.04系统安装
很多人觉得装系统很麻烦,其实现在的Ubuntu安装已经非常友好了。我们选择Ubuntu 20.04 LTS,主要是因为它长期支持,社区资源丰富,遇到问题容易找到解决方案。
1.1 准备工作:制作启动U盘
首先,你需要一个至少8GB的U盘。然后去Ubuntu官网下载20.04 LTS的ISO镜像文件。下载完成后,用Rufus(Windows)或者Etcher(跨平台)这类工具把镜像写入U盘。这个过程很简单,工具都有图形界面,选好镜像文件和U盘,点开始就行。
1.2 安装过程要点
把U盘插到电脑上,重启并从U盘启动,你就进入了Ubuntu的安装界面。安装过程大部分是图形化点击下一步,但有几步需要留意:
- 分区:如果你打算整个硬盘只装Ubuntu,选择“清除整个磁盘并安装Ubuntu”是最省事的。如果你想保留Windows做双系统,或者有自定义分区的需求,那就选“其他选项”手动分区。对于深度学习开发,我建议给根目录(
/)分配至少100GB,交换空间(swap)可以设置成你内存大小的1到2倍。 - 用户名和密码:记住你设置的这些信息,后面登录和远程连接都要用。
- 安装第三方软件:建议勾选“为图形和Wi-Fi硬件安装第三方软件”,这样装完系统,显卡驱动和无线网卡驱动基本就齐了,能省去很多后续麻烦。
安装完成后重启,拔掉U盘,你就进入全新的Ubuntu桌面了。第一步,先打开“软件和更新”,在“更新”选项卡里,把“重要安全更新”和“推荐更新”都选上,然后让系统先更新一波。这能确保你的系统拥有最新的安全补丁和软件库。
2. 打造“炼丹”基础:驱动与CUDA安装
系统装好了,接下来就是为GPU计算做准备。这一步是核心,但跟着步骤走也不难。
2.1 NVIDIA驱动安装
Ubuntu自带的“软件和更新”里的“附加驱动”选项卡,其实可以很方便地安装闭源NVIDIA驱动。打开它,系统会自动检测你的显卡型号,并列出推荐的驱动版本。通常选那个标有“专有”和“推荐”的版本安装就行,这是最稳当的方法。
如果你想用特定版本,或者习惯命令行,也可以用apt。首先添加显卡驱动的PPA仓库,然后安装:
# 添加官方显卡驱动PPA sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查看可用的驱动版本 ubuntu-drivers devices # 安装推荐的驱动版本(例如nvidia-driver-550) sudo apt install nvidia-driver-550安装完成后,一定要重启电脑。重启后,在终端输入nvidia-smi。如果能看到你的显卡信息、驱动版本和CUDA版本,那就说明驱动安装成功了。这个命令以后会经常用,用来监控显卡状态。
2.2 CUDA工具包安装
CUDA是NVIDIA推出的并行计算平台,深度学习框架(像PyTorch、TensorFlow)都得靠它来调用GPU。我们直接从NVIDIA官网下载runfile本地安装包,这样比较灵活,也方便管理多个版本。
- 去NVIDIA官网的CUDA Toolkit存档页面,找到CUDA 11.8(这是一个与Ubuntu 20.04和主流深度学习框架兼容性很好的版本)。根据你的系统选择“Linux” -> “x86_64” -> “Ubuntu” -> “20.04” -> “runfile (local)”。
- 下载完成后,按
Ctrl+Alt+F2切换到文字界面(tty2),登录后关闭图形界面服务,然后运行安装程序。这样能避免图形界面冲突。sudo service gdm3 stop # 停止显示管理器,如果是gdm3 # 如果是lightdm,则用 sudo service lightdm stop - 运行安装命令,记得加上
--toolkit和--silent参数,我们只装必要的工具包,并且静默安装省去交互:sudo sh cuda_11.8.0_520.61.05_linux.run --toolkit --silent --override - 安装完成后,重启图形界面
sudo service gdm3 start,然后按Ctrl+Alt+F1或F7切回桌面。
接下来,需要把CUDA的路径告诉系统。编辑你的~/.bashrc文件:
nano ~/.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}} export CUDA_HOME=/usr/local/cuda-11.8保存退出后,执行source ~/.bashrc让配置生效。现在在终端输入nvcc --version,如果能显示CUDA编译器的版本信息,恭喜你,CUDA安装成功。
2.3 cuDNN库安装
cuDNN是深度神经网络加速库,可以理解为CUDA的“补强包”。你需要去NVIDIA官网下载对应CUDA 11.8的cuDNN版本(可能需要注册账号)。下载到的是一个压缩包,解压后把里面的文件复制到CUDA目录就行:
# 假设你把压缩包下载到了Downloads文件夹 tar -xzvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-11.8/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-11.8/lib64 sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h /usr/local/cuda-11.8/lib64/libcudnn*3. 构建高效工作流:开发环境与工具链
硬件基础打牢了,现在来搭建我们写代码、跑实验的软件环境。一个好的工作流能极大提升效率。
3.1 Python环境管理:Conda
强烈推荐使用Miniconda或Anaconda来管理Python环境。它能让你为不同项目创建独立的Python环境,避免库版本冲突。去官网下载Miniconda的Linux安装脚本,然后安装:
bash Miniconda3-latest-Linux-x86_64.sh安装过程中会问你是否将conda加入环境变量,建议选“是”。安装完成后,关闭终端重新打开,或者执行source ~/.bashrc。现在,我们可以创建一个专用于深度学习的环境:
conda create -n dl python=3.9 -y conda activate dl看到命令行前面出现(dl)就说明你已经在这个环境里了,之后所有包的安装都只影响这个环境。
3.2 深度学习框架安装
现在来安装我们最常用的工具——深度学习框架。在激活的dl环境下,用pip安装即可。
- PyTorch:访问PyTorch官网,用它的安装命令生成器选择对应配置(Linux, Pip, Python, CUDA 11.8),你会得到类似下面的命令:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 - TensorFlow:对于CUDA 11.8,可以安装TensorFlow 2.10左右的版本:
pip install tensorflow==2.10.0
安装完成后,打开Python验证一下:
import torch print(torch.__version__) print(torch.cuda.is_available()) # 应该返回True print(torch.cuda.get_device_name(0)) # 显示你的显卡型号 import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices('GPU')) # 应该能看到GPU设备列表如果都能正确打印出版本号并识别到GPU,那么框架安装就成功了。
3.3 必备工具与效率软件
除了核心框架,还有一些工具能让你的开发体验更舒服:
- Jupyter Lab:交互式编程和可视化的神器。
pip install jupyterlab安装,然后用jupyter lab --ip=0.0.0.0启动,就可以在浏览器里写代码了。 - VS Code:轻量级但功能强大的代码编辑器。去官网下载.deb包,用
sudo dpkg -i安装。记得安装Python、Jupyter等扩展。 - Docker:容器化技术,能让你快速部署和复现环境。安装命令如下:
需要重新登录生效。sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker # 将当前用户加入docker组,避免每次用sudo sudo usermod -aG docker $USER - Git:版本控制必备。
sudo apt install git即可。
4. 性能调优与系统优化
环境能用了,但我们还可以让它跑得更快、更稳。下面这些优化措施,能让你的“炼丹炉”火更旺。
4.1 交换空间优化
如果你内存不大(比如小于32GB),在训练大模型时可能会遇到内存不足的问题。增加交换空间(Swap)可以作为一个缓冲。我们可以创建一个交换文件:
# 创建一个8GB的交换文件,大小可以按需调整 sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 让它开机自动挂载 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab4.2 存储性能优化
如果你的数据集放在机械硬盘上,IO可能会成为瓶颈。可以考虑用rsync代替cp命令进行大量小文件拷贝,或者将频繁读取的数据集放到SSD上。对于Ext4文件系统,可以在挂载选项(/etc/fstab中)添加noatime来减少元数据写入,提升读取性能。
4.3 网络与源配置
为了获得更快的软件下载速度,建议将Ubuntu的软件源和pip源换成国内镜像。编辑/etc/apt/sources.list,将archive.ubuntu.com替换为mirrors.aliyun.com或mirrors.tuna.tsinghua.edu.cn。对于pip,可以创建~/.pip/pip.conf文件,内容如下:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn4.4 显卡状态监控
养成监控显卡状态的习惯。nvidia-smi是最基本的。如果想持续监控,可以使用watch -n 1 nvidia-smi每秒刷新一次。更直观的可以用nvtop(类似htop的GPU监控工具),用sudo apt install nvtop安装。
5. 总结
走完这一整套流程,你的Ubuntu 20.04系统就已经从一个干净的操作系统,变身为一台功能齐全、性能强劲的深度学习工作站了。从系统安装、驱动配置,到环境搭建、工具链完善,最后再到性能调优,每一步我都尽量给出了清晰的操作和解释。
实际用下来,这套配置在稳定性和兼容性上表现都很不错,能覆盖从学习实验到中小规模项目开发的需求。当然,环境配置从来不是一劳永逸的事情,随着项目和需求的变化,你可能还需要安装更多专门的库或者工具。但有了这个坚实的基础,后续的扩展就会容易很多。
如果你在跟着操作的过程中遇到了任何问题,或者有些步骤和你的实际情况不太一样,别担心,这都很正常。深度学习社区非常活跃,几乎你遇到的每一个报错信息,都能在网上找到相关的讨论和解决方案。多动手,多搜索,你也会很快成为环境配置的“老司机”。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。