RuntimeError:一个需要grad的叶子变量的视图被用在了原地操作中



当我尝试运行从GitHub克隆的'mobile-yolov5-pruning-distillation'项目时,在google colab中,它得到了这个错误。

Traceback (most recent call last):
File "train.py", line 776, in <module>
train(hyp)
File "train.py", line 78, in train
model = Model(opt.cfg).to(device)
File "/content/gdrive/MyDrive/project_folder/mobile-yolov5-pruning-distillation/models/yolo.py", line 73, in __init__
self._initialize_biases()  # only run once
File "/content/gdrive/MyDrive/project_folder/mobile-yolov5-pruning-distillation/models/yolo.py", line 124, in _initialize_biases
b[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)
RuntimeError: a view of a leaf Variable that requires grad is being used in an in-place operation.

当我试图追踪到yolo.py

b[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)

有谁能帮忙解决这个问题吗?

尝试用torch.no_grad()torch.no_grad(): your_code_here包装代码你也可以使用。data属性来更新张量,但是如果我理解正确的话,这个方法是不推荐的。

b[:, 4].data += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)

最新更新