1. 单机多卡与单卡加载多卡问题
训练单机多卡模型,很容易,先定义需要使用的显卡编号:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu_device # such as [0,2,3]
加载模型:
# GPU
if torch.cuda.is_available():
model = model.cuda()
# Multi GPU
if torch.cuda.device_count() > 1:
model = nn.DataParallel(model)
然后就是模型加载,加载时候如果希望单卡加载多卡训练的模型,这里说的是保存时候保存了整个模型的参数,包括图结构与数据:
model = torch.load(weight_path).module
pretrain = model.state_dict()
new_state_dict = {}#OrderedDict()
for k,v in pretrain.items():
new_state_dict[k] = v #remove `module.` #模型k 有module 不要
model.load_state_dict(new_state_dict, strict=True) #strict =False ,模型参数和模型不一致可以加载
print("Model parameters: " + weight_path + " has been load!")
2 挂载硬盘
临时挂载硬盘,重启后失效:
sudo mount /dev/sda1 ./data1
或者永久性挂载硬盘:
sudo vim /etc/fstab
写入格式:
/dev/sda1 /exdata ext4 defaults 0.0
其中/dev/sda1是硬盘分区,/exdata是挂载目录
写完保存后,即可永久性挂载。
3 ssh免密登陆
ssh-copy-id user@ip
然后输入一次密码即可免密登陆
如果出现:
”Enter passphrase for key '/root/.ssh/id_rsa'
则进入~/.ssh目录,然后输入:
ssh-add id_rsa
即可免密ssh连接。
参考blog:https://www.jianshu.com/p/49de8c20e1ce

本文介绍了如何在单机多卡环境下训练深度学习模型,包括设置CUDA_VISIBLE_DEVICES选择使用显卡,使用nn.DataParallel进行多GPU训练。同时,详细阐述了如何从单卡训练模型加载到多卡环境,关键步骤是移除state_dict中的`module.`前缀。此外,还提到了临时和永久挂载硬盘的方法,以及通过ssh-copy-id实现SSH免密登录的配置过程。
652

被折叠的 条评论
为什么被折叠?



