Windows下:
conda create -n dl_gpu_env python=3.8
conda activate dl_gpu_env
(示例中创建名为dl_gpu_env
的环境,Python版本可根据需要调整) (在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客)。conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch
上述命令会自动安装与CUDA 11.7兼容的PyTorch GPU版 (在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客)(版本号可根据PyTorch官网选择)。安装完成后,可用 pip list
查看Torch等包已带有CUDA后缀,表示为GPU版本。pip
安装新版TensorFlow即可(TF2.x以后GPU支持已集成):pip install --upgrade pip
pip install tensorflow
如果是旧版(TF 1.x),可使用 pip install tensorflow-gpu
。安装完成后,使用import tensorflow as tf; print(tf.__version__)
验证版本。import torch
print(torch.cuda.is_available()) # True表示PyTorch可用GPU ([在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客](https://blog.csdn.net/m0_63669388/article/details/133612273#:~:text=%3E%20%E5%88%B0%E6%9C%80%E5%90%8E%EF%BC%8C%E5%9C%A8python%E4%B8%AD%E4%BD%BF%E7%94%A8%20%60torch.cuda.is_available%28%29%60%E8%BF%94%E5%9B%9E%E5%80%BC%E6%98%AFTrue%E7%9A%84%E6%97%B6%E5%80%99%E8%AF%81%E6%98%8E%E5%AE%89%E8%A3%85pytorch))
print("GPU型号:", torch.cuda.get_device_name(0))
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU'))) # 应输出 >=1 ([使用 GPU | TensorFlow Core](https://www.tensorflow.org/guide/gpu?hl=zh-cn#:~:text=import%20tensorflow%20as%20tf%20print%28,len%28tf.config.list_physical_devices%28%27GPU))
如输出True
或GPU数量≥1,说明GPU环境配置正常 (在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客) (使用 GPU | TensorFlow Core)。Linux下(以Ubuntu为例):
sudo apt update
sudo ubuntu-drivers devices # 查看推荐驱动
sudo ubuntu-drivers autoinstall # 自动安装推荐驱动
sudo reboot
或直接从NVIDIA官网下载并安装对应型号驱动。安装后可执行 nvidia-smi
命令查看GPU信息 (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。# 添加NVIDIA软件源并安装CUDA(以CUDA 11.7为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-11-7 # 安装CUDA 11.7及驱动
sudo reboot
安装完成后,执行 nvcc --version
查看CUDA版本;执行 nvidia-smi
查看驱动和GPU状态 (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。bin/ include/ lib
文件复制到CUDA安装目录下对应文件夹(例如/usr/local/cuda/
) (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。例如:tar -xzvf cudnn-linux-x86_64-11.7-v8.4.2.77.tgz
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
这样CUDA和cuDNN就安装完成,可以运行ldconfig
刷新库缓存。conda create -n dl_gpu_env python=3.8
conda activate dl_gpu_env
conda install pytorch torchvision torchaudio cudatoolkit=11.7 -c pytorch # PyTorch GPU版
pip install tensorflow # TensorFlow GPU版(TF2.x 内置支持)
注意:cudatoolkit
版本应与系统实际CUDA匹配,或直接与PyTorch绑定的CUDA版本。安装后同样通过Python代码检查GPU是否被识别。nvidia-smi
可查看到显卡型号、驱动版本和GPU使用情况 (GPU之nvidia-smi命令详解-CSDN博客) (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。sudo ubuntu-drivers autoinstall
安装推荐驱动;或从NVIDIA下载.run
安装包手动安装。安装完成后,执行nvidia-smi
确认驱动就绪。C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X
。安装后需将CUDA的bin
目录(例如...CUDA\vXX.X\bin
)加入系统环境变量Path
。/usr/local/cuda-XX.X/
。安装后可创建软链接/usr/local/cuda -> /usr/local/cuda-XX.X
,并将cuda/bin
加入$PATH
,cuda/lib64
加入$LD_LIBRARY_PATH
。include/
下的头文件复制到CUDA的include
目录,将lib64/
下的库文件复制到CUDA的lib64
目录 (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。举例:sudo cp cudnn/include/cudnn*.h /usr/local/cuda/include/
sudo cp cudnn/lib64/libcudnn* /usr/local/cuda/lib64/
sudo ldconfig
更新库缓存。nvcc --version
查看CUDA编译器版本(例如“Cuda compilation tools, release X.X”) (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。nvidia-smi
查看GPU列表、驱动版本及CUDA版本(显示在Driver Version/CUDA Version列) (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。nvidia-smi
:查看所有NVIDIA GPU的状态(型号、驱动、显存、利用率等) (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。该命令随驱动安装,安装成功后终端输入即可。nvcc --version
:检查CUDA编译器版本 (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。import torch
print("CUDA available:", torch.cuda.is_available()) # True表示GPU可用 ([在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客](https://blog.csdn.net/m0_63669388/article/details/133612273#:~:text=%3E%20%E5%88%B0%E6%9C%80%E5%90%8E%EF%BC%8C%E5%9C%A8python%E4%B8%AD%E4%BD%BF%E7%94%A8%20%60torch.cuda.is_available%28%29%60%E8%BF%94%E5%9B%9E%E5%80%BC%E6%98%AFTrue%E7%9A%84%E6%97%B6%E5%80%99%E8%AF%81%E6%98%8E%E5%AE%89%E8%A3%85pytorch))
print("GPU数量:", torch.cuda.device_count())
if torch.cuda.is_available():
print("当前GPU型号:", torch.cuda.get_device_name(0))
如果torch.cuda.is_available()
返回True,则说明PyTorch已识别GPU (在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客)。import tensorflow as tf
gpus = tf.config.list_physical_devices('GPU')
print("可见GPU列表:", gpus)
print("GPU数量:", len(gpus))
当输出列表非空,GPU可见时,说明TensorFlow已使用到GPU (使用 GPU | TensorFlow Core)。22/TCP
入站规则。获取SSH密钥对(或用户名密码)。实例启动后,通过SSH连接(例如Linux/Mac或Windows的WSL下):ssh -i /path/to/key.pem username@实例公网IP
连接成功后,即进入服务器终端。通常GPU云服务器为Linux系统(常见用户如Ubuntu:用户名ubuntu
,AWS Deep Learning AMI用户名ec2-user
等)。# 以Miniconda为例
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
conda create -n remote_dl python=3.8
conda activate remote_dl
conda install pytorch torchvision cudatoolkit=11.7 -c pytorch
pip install tensorflow
git clone
、wget
或scp
上传。进入对应目录后,用Python运行训练脚本。例如在PyTorch中:python train_mnist_pytorch.py
程序中需确保将模型和数据发送到GPU设备(见示例)。nvidia-smi
实时监控GPU占用情况。也可借助 htop
、watch -n 5 nvidia-smi
等命令。建议使用screen
或tmux
保持会话,避免SSH断开导致训练中断。PyTorch示例:下面示例加载MNIST数据,定义简单卷积网络,并在GPU上训练:
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvision import datasets, transforms
device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # 自动选择GPU ([3.2.1 ConvNet Mnist - PyTorch Tutorial](https://pytorch-tutorial.readthedocs.io/en/latest/tutorial/chapter03_intermediate/3_2_1_cnn_convnet_mnist/#:~:text=DEVICE%20%3D%20torch.device%28,%E8%AE%A9torch%E5%88%A4%E6%96%AD%E6%98%AF%E5%90%A6%E4%BD%BF%E7%94%A8GPU%EF%BC%8C%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8GPU%E7%8E%AF%E5%A2%83%EF%BC%8C%E5%9B%A0%E4%B8%BA%E4%BC%9A%E5%BF%AB%E5%BE%88%E5%A4%9A))
# 数据预处理
train_loader = torch.utils.data.DataLoader(
datasets.MNIST('data', train=True, download=True,
transform=transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.1307,), (0.3081,))
])),
batch_size=512, shuffle=True)
# 定义网络
class ConvNet(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 10, kernel_size=5) # 28x28 -> 24x24
self.conv2 = nn.Conv2d(10, 20, kernel_size=5) # 24x24 -> 20x20
self.fc1 = nn.Linear(20*20*20, 500)
self.fc2 = nn.Linear(500, 10)
def forward(self, x):
x = F.relu(F.max_pool2d(self.conv1(x), 2)) # -> 10x12x12
x = F.relu(F.max_pool2d(self.conv2(x), 2)) # -> 20x4x4
x = x.view(x.size(0), -1)
x = F.relu(self.fc1(x))
x = self.fc2(x)
return F.log_softmax(x, dim=1)
model = ConvNet().to(device) # 将模型移动到GPU ([3.2.1 ConvNet Mnist - PyTorch Tutorial](https://pytorch-tutorial.readthedocs.io/en/latest/tutorial/chapter03_intermediate/3_2_1_cnn_convnet_mnist/#:~:text=model%20%3D%20ConvNet%28%29,parameters))
optimizer = optim.Adam(model.parameters())
# 训练一个epoch示例
model.train()
for data, target in train_loader:
data, target = data.to(device), target.to(device)
optimizer.zero_grad()
output = model(data)
loss = F.nll_loss(output, target)
loss.backward()
optimizer.step()
运行过程中,nvidia-smi
可以看到显存和GPU占用情况。若输出训练日志,说明模型已在GPU上执行。
TensorFlow示例:下面示例使用TensorFlow/Keras在GPU上训练MNIST:
import tensorflow as tf
# 检查GPU
gpus = tf.config.list_physical_devices('GPU')
print("可见GPU:", gpus) # 确认使用GPU ([使用 GPU | TensorFlow Core](https://www.tensorflow.org/guide/gpu?hl=zh-cn#:~:text=import%20tensorflow%20as%20tf%20print%28,len%28tf.config.list_physical_devices%28%27GPU))
# 加载数据并归一化
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
# 构建模型
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=3, batch_size=512)
如果TensorFlow已正确配置GPU,上述训练过程会自动使用GPU加速,并在训练日志中看到GPU内存分配信息。
cuda_runtime_api
相关错误,请升级或降级驱动/CUDA/cuDNN至兼容版本。nvidia-smi
提示“Command not found”或未列出显卡,说明驱动未正确安装或PATH未配置。检查驱动安装日志,重启系统,并确保nvidia-smi
在PATH路径中(Windows应在C:\Program Files\NVIDIA Corporation\NVSMI
下)。pip install tensorflow
时出现此问题请尝试pip install tensorflow-gpu
或升级)。也可能是CUDA/cuDNN路径未添加到环境变量。可通过 print(tf.config.list_physical_devices('GPU'))
确认。 (使用 GPU | TensorFlow Core)torch.cuda.is_available()
返回False,检查是否使用了正确的安装命令(必须安装带cudatoolkit
的PyTorch或对应的Wheel)。重新安装时可尝试清理环境后按官网命令安装。此外,有时显卡型号过旧也可能不受新CUDA支持。libcudnn.so
之类错误,确认cuDNN库已复制到CUDA目录并执行了ldconfig
(win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客)。Windows系统需将cudnn64_*.dll
放在CUDA bin
目录下。sudo
(Linux)运行。确保系统磁盘有足够空间存放CUDA和数据集。conda clean --all
清理缓存,换用其他环境,或在官方论坛/社区提问。以上步骤和命令覆盖了Windows和Linux下从虚拟环境创建、GPU驱动与库安装,到云服务器部署和示例验证的全流程。如按照要求操作并关注版本兼容,通常能成功在GPU上运行深度学习代码 (GPU 支持 | TensorFlow) (创建GPU实例时自动安装或加载Tesla驱动_GPU云服务器(EGS)-阿里云帮助中心)。
参考资料: 官方安装文档及教程 (GPU 支持 | TensorFlow) (使用 GPU | TensorFlow Core) (创建GPU实例时自动安装或加载Tesla驱动_GPU云服务器(EGS)-阿里云帮助中心)(版本对应表、TensorFlow GPU指南、云服务器GPU配置说明);实用博客教程 (win10的tensorflow+cuda10.1+cudnn下载和安装_win10下cuda101 cudnn下载-CSDN博客) (在conda虚拟环境下安装PyTorch-gpu版本_conda安装torch-CSDN博客)(安装指引、环境测试示例)。