在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' 激活环境"
注意事项:
- Ubuntu 24.04 默认使用较新的系统库,确保所有依赖兼容
- 优先使用 conda 安装,避免与系统包冲突
- 对于生产环境,建议使用 Docker 或 Singularity 容器化
- 定期更新:
conda update --all - 考虑使用 mamba(conda的快速替代品)提速包管理
这样配置的环境既稳定又高效,适合大多数深度学习项目。
CLOUD技术笔记