BICLab / EMS-YOLO

Offical implementation of "Deep Directly-Trained Spiking Neural Networks for Object Detection" (ICCV2023)
https://arxiv.org/abs/2307.11411
GNU General Public License v3.0
139 stars 12 forks source link

Missing 'DetectMultiBackend' class in models.common.py #4

Open CurryYH opened 10 months ago

CurryYH commented 10 months ago

ImportError: cannot import name 'DetectMultiBackend' from 'models.common' I found the same DetectMultiBackend class in the YOLOv5 repository, which is used for multi-backend inference. But it appears to be incompatible with this version. Can you repush the common.py ?

Alexwong-1024 commented 10 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗?

CurryYH commented 10 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

Alexwong-1024 commented 10 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我只是把v5的那个模块放进去了,但是我发现里面还是有点问题,比如yolo.py里面需要加载的这些if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, C3, C3TR, C3SPP, C3Ghost,Conv_2,snn_resnet, BasicBlock,BasicBlock_1,BasicBlock_2,Conv_A,CSABlock,LIAFBlock,Conv_LIAF,Bottleneck_2, TCSABlock,BasicTCSA,ConcatBlock_ms,BasicBlock_ms,Conv_1,Concat_res2,HAMBlock,ConcatCSA_res2,BasicBlock_ms1]好像有很多都没有,你那边调通了吗?

CurryYH commented 10 months ago

我这边也还在调试中

Alexwong-1024 commented 10 months ago

我这边也还在调试中

好的

pursure-Hy commented 10 months ago

我这边也还在调试中

如果您那边调通的话,请问可以分享一下吗?

Alexwong-1024 commented 10 months ago

您好,我也在调试,目前还没调通,如果调通了会发给您的。

------------------ 原始邮件 ------------------ 发件人: "BICLab/EMS-YOLO" @.>; 发送时间: 2023年11月10日(星期五) 晚上10:00 @.>; @.**@.>; 主题: Re: [BICLab/EMS-YOLO] Missing 'DetectMultiBackend' class in models.common.py (Issue #4)

我这边也还在调试中

如果您那边调通的话,请问可以分享一下吗?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

pursure-Hy commented 10 months ago

您好,我也在调试,目前还没调通,如果调通了会发给您的。 ------------------ 原始邮件 ------------------ 发件人: "BICLab/EMS-YOLO" @.>; 发送时间: 2023年11月10日(星期五) 晚上10:00 @.>; @.**@.>; 主题: Re: [BICLab/EMS-YOLO] Missing 'DetectMultiBackend' class in models.common.py (Issue #4) 我这边也还在调试中 如果您那边调通的话,请问可以分享一下吗? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

好的,非常感谢!

carrolltm commented 10 months ago

The reason is that the author code uses yolov3, so i just try that use detect.py to show the result, Functions that don't exist in EMS-yolo, my solution is to copy them from yolov3. https://github.com/ultralytics/yolov3

carrolltm commented 10 months ago

![Uploading image.png…]()

carrolltm commented 10 months ago

To continue my speech above, I copied the yolov3 representative and showed the detection result, but I did not find the innovative module code in the author's paper!!!

54108 commented 10 months ago

原因是作者代码使用了 yolov3,所以我只是尝试使用 detect.py 来显示结果,EMS-yolo 中不存在的函数,我的解决方案是从 yolov3 复制它们。 https://github.com/ultralytics/yolov3

What files were copied?

carrolltm commented 10 months ago

原因是作者代码使用了 yolov3,所以我只是尝试使用 detect.py 来显示结果,EMS-yolo 中不存在的函数,我的解决方案是从 yolov3 复制它们。 https://github.com/ultralytics/yolov3

What files were copied?

You can copy non-existent files while bebug debugging, i change some files:common.py,dtection.py, downloads.py, general.py,yolo.py. i can show the result with the pretained model. but i don not to train. if you have other question, please give me your email

RollingSong commented 9 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我只是把v5的那个模块放进去了,但是我发现里面还是有点问题,比如yolo.py里面需要加载的这些if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, C3, C3TR, C3SPP, C3Ghost,Conv_2,snn_resnet, BasicBlock,BasicBlock_1,BasicBlock_2,Conv_A,CSABlock,LIAFBlock,Conv_LIAF,Bottleneck_2, TCSABlock,BasicTCSA,ConcatBlock_ms,BasicBlock_ms,Conv_1,Concat_res2,HAMBlock,ConcatCSA_res2,BasicBlock_ms1]好像有很多都没有,你那边调通了吗?

这些都是net的block,其实在很多结构中是没有用到的。例如他在论文中使用的两个结构,可以在models中的resnet18.yaml和resnet34.yaml中可以看到配置,骨干网络和检测头只用了Snn卷积层和BasicBlock_2。 所以对照网络配置,大胆将缺失的模块名删掉就行了。那些报错的模块你都可以在YOLOV3或者V5的源码中的model.common.py文件中找到。

RollingSong commented 9 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗?

[你可以在data.coco.yaml文件中,看到数据集的存放位置,或者修改path到你自己数据集的位置。而且COCO官方标签使用的是.json文件,你需要从YOLO作者GITHUB上下载他做好的.txt的文件,也就是coco2017Labels.zip 并解压到path下,和images同级

(url)https://github.com/ultralytics/yolov5/releases/download/v1.0/

54108 commented 9 months ago

原因是作者代码使用了 yolov3,所以我只是尝试使用 detect.py 来显示结果,EMS-yolo 中不存在的函数,我的解决方案是从 yolov3 复制它们。 https://github.com/ultralytics/yolov3

What files were copied?

You can copy non-existent files while bebug debugging, i change some files:common.py,dtection.py, downloads.py, general.py,yolo.py. i can show the result with the pretained model. but i don not to train. if you have other question, please give me your email

thanks,it work

Qiaoyi-Su commented 9 months ago

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我也是加载了v5的DetectMultiBackend 类,但是每次运行时都需要重新下载数据集,请问您那边是这样的吗? 你方便的话可以把代码发过来,我在本地debug一下看看

我只是把v5的那个模块放进去了,但是我发现里面还是有点问题,比如yolo.py里面需要加载的这些if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, C3, C3TR, C3SPP, C3Ghost,Conv_2,snn_resnet, BasicBlock,BasicBlock_1,BasicBlock_2,Conv_A,CSABlock,LIAFBlock,Conv_LIAF,Bottleneck_2, TCSABlock,BasicTCSA,ConcatBlock_ms,BasicBlock_ms,Conv_1,Concat_res2,HAMBlock,ConcatCSA_res2,BasicBlock_ms1]好像有很多都没有,你那边调通了吗?

这些都是net的block,其实在很多结构中是没有用到的。例如他在论文中使用的两个结构,可以在models中的resnet18.yaml和resnet34.yaml中可以看到配置,骨干网络和检测头只用了Snn卷积层和BasicBlock_2。 所以对照网络配置,大胆将缺失的模块名删掉就行了。那些报错的模块你都可以在YOLOV3或者V5的源码中的model.common.py文件中找到。

Fanty01 commented 9 months ago

有没有人成功复现代码?

108360215 commented 7 months ago

@carrolltm Excuse me, could you tell me how to implement your detect.py on event data(.dat), and what is your cmd(python detect.py ...), Thanks you.

HeuristicLU commented 2 weeks ago

跑通了,分享给大家https://github.com/HeuristicLU/EMS-yolo