-
使用ssh命令在windows或Linux系统进入到服务器环境(已配置好Anaconda的虚拟环境)
-
通过
nvidia-smi
查看GPU使用情况,通过nvidia-smi -L
查看GPU型号,通过nvidia-smi -a
查看GPU完整信息…
可以看到实际上两块GPU都是空闲状态,均能使用。 -
在python中查看cuda是否可用
-
在多GPU的情况下,使用指定的GPU进行训练
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') X, Y, A = X.to(device), Y.to(device), A.to(device) model = model.to(device)
一定要强调的一点!!!要将模型和所有需要输入模型的tensor张量都扔进device!不能够只扔一部分!比如我没有将上面的A扔进device,那么A就是在cpu中运算的,会报错如下:
所以如果遇到这个问题,就仔细找找看自己是不是没有把所有的tensor都做一次tensor.to(device)操作。毕竟很多人刚开始写代码没有很准确地把把哪些是需要训练的tensor变量理清楚,那么你要GPU训练就一定要细心咯。 -
将编写好的代码和数据上传到服务器中
在本地使用scp命令即可实现:scp [-P port] local_path username@ip:server_path 例如: scp -P 1111 C:/Bob/main.py Bob@11.22.33.44:/home/Bob/
-
命令行的执行
直接用python命令执行程序即可:python main.py
如果你并没有在代码中指定是哪一个GPU(cuda:0/1),可以在命令中指定:
CUDA_VISIBLE_DEVICES=0 python main.py
或是在代码的开头全局指定:
import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" #指定第一块GPU
6.愉快地享受硬件带来的训练速度
之前需要训练几分钟的模型,现在刷刷刷地只需要半分钟就搞定了~(只是Linux不支持GUI,所以Matplotlib绘图没有呈现出来,后面改改代码将图片保存下来即可)
【深度学习】使用GPU服务器训练模型时的配置过程
最新推荐文章于 2024-05-31 14:28:48 发布