在Ubuntu上安装和使用PyTorch进行深度学习是一个相对简单的过程。以下是一个详细的入门指南,帮助你从零开始配置环境,并安装PyTorch。
首先,你需要安装Anaconda或Miniconda来管理你的Python环境和包。以下是安装Anaconda的步骤:
下载并安装Anaconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
初始化Anaconda(可选但推荐):
~/miniconda3/bin/conda init
source ~/.bashrc
创建一个新的虚拟环境来安装PyTorch,这样可以避免包冲突:
conda create -n pytorch_env python=3.8
conda activate pytorch_env
根据你的CUDA版本选择合适的PyTorch安装命令。以下是一些常见的CUDA版本对应的安装命令:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install pytorch torchvision torchaudio cpuonly -c pytorch
安装完成后,你可以验证PyTorch是否成功安装:
python -c "import torch; print(torch.__version__)"
python -c "import torchvision; print(torchvision.__version__)"
python -c "import torchaudio; print(torchaudio.__version__)"
python -c "print(torch.cuda.is_available())"
如果输出显示PyTorch的版本号,并且torch.cuda.is_available()
返回True
,则表示安装成功。
如果你选择安装支持GPU的PyTorch,还需要安装CUDA和cuDNN:
安装NVIDIA显卡驱动:
sudo ubuntu-drivers autoinstall
nvidia-smi
安装CUDA:
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_455.32.00_linux.run
sudo sh cuda_11.3.1_455.32.00_linux.run
配置环境变量:
编辑~/.bashrc
文件,添加以下内容:
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
然后重新加载配置:
source ~/.bashrc
安装cuDNN:
tar -xvf cudnn-linux-x64-v8.x.x.x_cuda11.x-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
验证CUDA和cuDNN是否正确安装:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat /usr/local/cuda/lib64/libcudnn* | grep CUDNN_MAJOR -A 2
创建一个简单的PyTorch程序来验证一切正常:
import torch
import torch.nn as nn
import torch.optim as optim
# 创建一个简单的模型
class SimpleModel(nn.Module):
def __init__(self):
super(SimpleModel, self).__init__()
self.fc = nn.Linear(784, 10)
def forward(self, x):
x = x.view(-1, 784)
return self.fc(x)
model = SimpleModel()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# 生成一些随机数据
inputs = torch.randn(64, 784)
targets = torch.randint(0, 10, (64,))
# 前向传播
outputs = model(inputs)
loss = criterion(outputs, targets)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
运行这个程序,如果没有错误,说明PyTorch已经正确安装并可以正常使用。
通过以上步骤,你应该能够在Ubuntu上成功安装和配置PyTorch,开始你的深度学习之旅。如果有任何问题,请参考PyTorch官方文档或社区支持。