模型并行训练与服务:实现、优化与性能提升
1. 模型并行服务
在完成模型并行训练后,我们可以将训练好的模型拆分到多个GPU上进行模型并行服务。与模型并行训练不同,模型并行服务没有反向传播过程,仅进行前向传播。
以下是实现模型并行服务的代码示例:
# Model Parallel Serving
def test(args, model):
model.eval()
correct_total = 0
with torch.no_grad():
for idx, (data, target) in enumerate(testloader):
output = model(data.to('cuda:0'))
predict = output.argmax(dim=1, keepdim=True).to(output.device)
target = target.to(output.device)
correct = predict.eq(target.view_as(predict)).sum().item()
correct_total += correct
acc = correct_total/len(testloader.dataset)
print(f"Test Accuracy {acc}")
print("Test Done!")
具体操作步骤如下: <
超级会员免费看
订阅专栏 解锁全文
2万+

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



