caoyunkang / AdaCLIP

[ECCV2024] The Official Implementation for ''AdaCLIP: Adapting CLIP with Hybrid Learnable Prompts for Zero-Shot Anomaly Detection''
MIT License
105 stars 2 forks source link

整个方案能否导出为onnx格式? #6

Open Kaze816 opened 3 months ago

Kaze816 commented 3 months ago

首先感谢作者们能够开源这么优秀的网络模型!!! 现有一个问题请教一下,如果想付诸实用,希望模型能导出为onnx格式,不知道有无可能?具体如何操作呀?

PS:先前在学习AnomalyCLIP时,文 / 图两个部分始终没能合在一起,就搞得需要自己动手写后处理,既麻烦,还容易出错。

caoyunkang commented 3 months ago

感谢!理论上可行,但导出onnx格式模型并不在团队计划之中,您可自行探索 👍

Kaze816 commented 1 month ago

感谢!理论上可行,但导出onnx格式模型并不在团队计划之中,您可自行探索 👍

你好,我尝试在test.py 中断点,使用torch.onnx.export(model.clip_model, img, "test.onnx")成功导出,只是文件有600M大小,与您提供的pretrained_all.pth文件40M,相去甚远。 尽管验证onnx时也像是正确的,就是耗时有点多,有没有可能把导出的文件搞小一点,以跑得更快些?

caoyunkang commented 1 month ago

你好,我尝试在test.py 中断点,使用torch.onnx.export(model.clip_model, img, "test.onnx")成功导出,只是文件有600M大小,与您提供的pretrained_all.pth文件40M,相去甚远。 尽管验证onnx时也像是正确的,就是耗时有点多,有没有可能把导出的文件搞小一点,以跑得更快些?

您好!这是因为保存的模型只包含额外训练参数,不包含预训练CLIP模型。在您导出onnx模型时,预训练CLIP模型也会随之导出,所以整体模型文件较大。

Luwill6 commented 2 weeks ago

@Kaze816 我也尝试导出作者的onnx模型,但是似乎有不支持的模块,请问您导出时有做额外的结构修改吗

Kaze816 commented 5 days ago

@Kaze816 我也尝试导出作者的onnx模型,但是似乎有不支持的模块,请问您导出时有做额外的结构修改吗

我只是简单地把最后一步的推理适当地简化了一下。它这整个方案的对纹理类的比较有效果,但对screw类目标类的,效果欠佳