使用conda在Ubuntu 24.04 LTS上配置PyTorch深度学习环境的最佳方法?

在Ubuntu 24.04 LTS上使用conda配置PyTorch环境的最佳实践如下:

1. 安装Miniconda(推荐)

# 下载最新版Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# 安装(建议安装在用户目录)
bash Miniconda3-latest-Linux-x86_64.sh

# 激活conda
source ~/.bashrc

# 验证安装
conda --version

2. 创建专用环境

# 创建Python 3.10环境(PyTorch推荐版本)
conda create -n pytorch_env python=3.10 -y

# 激活环境
conda activate pytorch_env

3. 安装PyTorch(根据硬件选择)

选项A:仅CPU版本

conda install pytorch torchvision torchaudio cpuonly -c pytorch

选项B:NVIDIA GPU版本(推荐)

# 首先检查CUDA版本
nvidia-smi

# 根据CUDA版本选择安装命令
# CUDA 12.1
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

# CUDA 11.8
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

选项C:使用pip安装(有时更新更快)

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

4. 安装常用深度学习库

# 基础科学计算库
conda install numpy pandas matplotlib scikit-learn jupyter -y

# 深度学习相关
conda install scipy seaborn tqdm ipywidgets -y
pip install tensorboard opencv-python pillow

# 可选:安装transformers等NLP库
pip install transformers datasets accelerate

5. 验证安装

创建测试脚本 test_pytorch.py

import torch

print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")

if torch.cuda.is_available():
    print(f"CUDA版本: {torch.version.cuda}")
    print(f"GPU名称: {torch.cuda.get_device_name(0)}")
    print(f"GPU数量: {torch.cuda.device_count()}")

# 简单张量运算测试
x = torch.rand(5, 3)
print(f"随机张量:n{x}")
print(f"张量设备: {x.device}")

运行测试:

python test_pytorch.py

6. 环境管理最佳实践

# 导出环境配置
conda env export > environment.yml

# 从YAML文件创建环境
conda env create -f environment.yml

# 列出所有环境
conda env list

# 删除环境
conda remove -n pytorch_env --all

7. 性能优化建议

# 设置conda清华镜像提速(国内用户)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

# 清理缓存
conda clean -a

# 设置MKL线程数(优化CPU性能)
export MKL_NUM_THREADS=4
export OMP_NUM_THREADS=4

8. 常见问题解决

# 如果遇到libGL.so.1错误(常见于OpenCV)
sudo apt update
sudo apt install libgl1-mesa-glx libglib2.0-0 -y

# 如果conda命令找不到
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 更新conda
conda update -n base -c defaults conda

9. 推荐的完整安装脚本

#!/bin/bash
# install_pytorch.sh

# 1. 安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
echo 'export PATH="$HOME/miniconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 2. 创建环境
conda create -n pytorch python=3.10 -y
conda activate pytorch

# 3. 安装PyTorch(根据实际情况修改CUDA版本)
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y

# 4. 安装常用库
conda install numpy pandas matplotlib scikit-learn jupyter notebook -y
pip install tensorboard opencv-python tqdm seaborn

echo "安装完成!使用 'conda activate pytorch' 激活环境"

注意事项:

  1. Ubuntu 24.04 默认使用较新的系统库,确保所有依赖兼容
  2. 优先使用 conda 安装,避免与系统包冲突
  3. 对于生产环境,建议使用 DockerSingularity 容器化
  4. 定期更新:conda update --all
  5. 考虑使用 mamba(conda的快速替代品)提速包管理

这样配置的环境既稳定又高效,适合大多数深度学习项目。

云服务器