模型并行训练与服务:原理、优化与实践
1. 模型并行服务
在完成模型的并行训练后,我们可以将训练好的模型拆分到多个 GPU 上进行并行服务。与模型并行训练不同,模型并行服务没有反向传播过程,仅进行前向传播。
1.1 代码实现
以下是实现模型并行服务的代码片段:
# 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!")
超级会员免费看
订阅专栏 解锁全文
1214

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



