多种尝试解决此报错问题:Default process group has not been initialized, please make sure to call init_process.
当出现以上问题多次尝试无果的情况下,请仔细检查代码,是否出现不合理的地方,例如backward()位置,eg:代码如下。:backward()是计算损失函数对模型参数的梯度,实现反向传播算法,通常在loss计算之后。的代码注释掉,如下所示。
·
当出现以上问题多次尝试无果的情况下,请仔细检查代码,是否出现不合理的地方,例如backward()位置,eg:代码如下
self.model.zero_grad()
self.criterion.zero_grad()
loss.backward()
loss = self.reduce_mean(loss, dist.get_world_size())
self.optim.step()
关键点:backward()是计算损失函数对模型参数的梯度,实现反向传播算法,通常在loss计算之后
解决办法如下:将backward()之后计算loss的代码注释掉,如下所示
self.model.zero_grad()
self.criterion.zero_grad()
loss.backward()
# loss = self.reduce_mean(loss, dist.get_world_size()) # 求损失均值,通常是多卡的情况下使用
self.optim.step()更多推荐



所有评论(0)