小编use*_*238的帖子

如何在pytorch中使用多个GPU训练模型?

我的服务器有两个GPU,如何同时使用两个GPU进行训练,以最大限度地发挥其计算能力?我下面的代码正确吗?它能让我的模型得到正确的训练吗?

class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        self.bert = pretrained_model
        # for param in self.bert.parameters():
        #     param.requires_grad = True
        self.linear = nn.Linear(2048, 4)


    #def forward(self, input_ids, token_type_ids, attention_mask):
    def forward(self, input_ids, attention_mask):
        batch = input_ids.size(0)
        #output = self.bert(input_ids, token_type_ids, attention_mask).pooler_output
        output = self.bert(input_ids, attention_mask).last_hidden_state
        print('last_hidden_state',output.shape) # torch.Size([1, 768]) 
        #output = output.view(batch, -1) #
        output = output[:,-1,:]#(batch_size, hidden_size*2)(batch_size,1024)
        output = self.linear(output)
        return output

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
if torch.cuda.device_count() > 1:
    print("Use", torch.cuda.device_count(), 'gpus')
    model = MyModel()
    model …
Run Code Online (Sandbox Code Playgroud)

python multi-gpu pytorch

6
推荐指数
1
解决办法
5859
查看次数

标签 统计

multi-gpu ×1

python ×1

pytorch ×1