Hlings / AcroFOD

(ECCV2022) The official PyTorch implementation of the "AcroFOD: An Adaptive Method for Cross-domain Few-shot Object Detection".
Apache License 2.0
54 stars 7 forks source link

转到yolov7 #4

Closed sssssshf closed 1 year ago

sssssshf commented 1 year ago

我想把论文的方法 换到yolov7 demo里。大佬有什么指教吗。

sssssshf commented 1 year ago

Traceback (most recent call last): File "/media/shf/shf_moredian/Moredian/code/AcroFOD-main/train_MMD.py", line 587, in train(hyp, opt, device, tb_writer, wandb) File "/media/shf/shf_moredian/Moredian/code/AcroFOD-main/train_MMD.py", line 110, in train model = Model_feature(opt.cfg, ch=3, nc=nc).to(device) # create and initialize File "/media/shf/shf_moredian/Moredian/code/AcroFOD-main/models/yolo_feature.py", line 96, in init self._initialize_biases() # only run once File "/media/shf/shf_moredian/Moredian/code/AcroFOD-main/models/yolo_feature.py", line 156, 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.

跑的时候出现这样一段错误是啥情况

sssssshf commented 1 year ago

发布的代码好像不能运行啊

Hlings commented 1 year ago

1:你好,现在这个代码是基于yolov5 3.0,当时对应的pytorch版本是1.7.1,这个环境下是没问题的。上面这个bug的原因是torch版本造成的,需要在定义b这里加上with no_grad(): 现在已经fix了 https://github.com/Hlings/AcroFOD/blob/53445c4f0ca7522cd55a8f9d420d9b452f0be44d/models/yolo_feature.py#L156-L159 这部分代码是模型定义时候确定的,和本文方法无关。 2:如果转到yolov7,着重看数据处理的部分,数据增强部分的代码,以及每个epoch处理dataloader中pbar的代码。

sssssshf commented 1 year ago

1:你好,现在这个代码是基于yolov5 3.0,当时对应的pytorch版本是1.7.1,这个环境下是没问题的。上面这个bug的原因是torch版本造成的,需要在定义b这里加上with no_grad(): 现在已经fix了

https://github.com/Hlings/AcroFOD/blob/53445c4f0ca7522cd55a8f9d420d9b452f0be44d/models/yolo_feature.py#L156-L159

这部分代码是模型定义时候确定的,和本文方法无关。 2:如果转到yolov7,着重看数据处理的部分,数据增强部分的代码,以及每个epoch处理dataloader中pbar的代码。

谢谢 已经结局了。本地是1.9的版本,服务器上可以开启训练了。 谢谢2的回复,对相关一些函数不太熟悉 一下子找不到切入点 谢谢

Hlings commented 1 year ago

不客气 :), 欢迎交流

buerluokun commented 1 year ago

我想把论文的方法 换到yolov7 demo里。大佬有什么指教吗。

1:你好,现在这个代码是基于yolov5 3.0,当时对应的pytorch版本是1.7.1,这个环境下是没问题的。上面这个bug的原因是torch版本造成的,需要在定义b这里加上with no_grad(): 现在已经fix了 https://github.com/Hlings/AcroFOD/blob/53445c4f0ca7522cd55a8f9d420d9b452f0be44d/models/yolo_feature.py#L156-L159

这部分代码是模型定义时候确定的,和本文方法无关。 2:如果转到yolov7,着重看数据处理的部分,数据增强部分的代码,以及每个epoch处理dataloader中pbar的代码。

谢谢 已经结局了。本地是1.9的版本,服务器上可以开启训练了。 谢谢2的回复,对相关一些函数不太熟悉 一下子找不到切入点 谢谢

大佬是怎么放到yolov7里的啊,我想放到v5里面