Open JasonLiJin opened 5 months ago
Hi @JasonLiJin,
YOLOWorldPromptDetector
(不带text encoder);第二种方式是采用YOLOWorldDetector
中的reparameterize
实现编码并写入到model中,之后可以去除text encoder;这部分可以参考我们提供的export_onnx.py
。YOLO-World-v2-L
与YOLO-World-v2-L-CLIP-Large
, 后者采用了更强大的 CLIP-Large
作为text encoder。@wondervictor Hello, in the code of generate_text_prompts
, how can I adapt to the format of coco_class_captions.json
?
@wondervictor Is it like [[person], [bicycle]]
?
Yep. It's simple and you can modify the script as you like. More details can be referred to: https://github.com/AILab-CVC/YOLO-World/blob/master/docs/data.md#1-multimodaldataset
@wondervictor OK, thanks for your explanation.
Hi @JasonLiJin,
- 端侧推理,我们是推荐移除CLIP,有两种方式,一种是提前计算好相应类别的embeddings, 可以采用我们提供的脚本 generate_text_prompts. 然后使用
YOLOWorldPromptDetector
(不带text encoder);第二种方式是采用YOLOWorldDetector
中的reparameterize
实现编码并写入到model中,之后可以去除text encoder;这部分可以参考我们提供的export_onnx.py
。- 推理的offline vocabulary会经过ONNX/TFLite等工具编码到模型中,不再需要encode
- 您应该指的的是
YOLO-World-v2-L
与YOLO-World-v2-L-CLIP-Large
, 后者采用了更强大的CLIP-Large
作为text encoder。
多谢大佬解答,另外就是看源码用mm engine和mm yolo封装了很多,目前想在高通端侧部署,想问下yolo-world前后处理跟yolo v8有什么区别吗,目前只看到demo里的nms后处理?
@JasonLiJin 您好,前后处理和YOLOv8没有区别,目前我们提供了deploy/onnx_demo.py
可供参考。如果不想在ONNX中引入NMS,我们也即将push一个新版本将NMS排除ONNX外并提供推理测试的脚本,欢迎关注!
@JasonLiJin 您好,前后处理和YOLOv8没有区别,目前我们提供了
deploy/onnx_demo.py
可供参考。如果不想在ONNX中引入NMS,我们也即将push一个新版本将NMS排除ONNX外并提供推理测试的脚本,欢迎关注!
多谢,我在导出为onnx的时候,发现输出的维度都是变量,export的时候是把默认的class重参数化到backbone的,num_dets name: num_dets tensor: int64[ReduceSumnum_dets_dim_0,1] boxes name: boxes tensor: float32[ReduceSumnum_dets_dim_0,Splitboxes_dim_1,Splitboxes_dim_2] scores name: scores tensor: float32[ReduceSumnum_dets_dim_0,Splitboxes_dim_1] labels name: labels tensor: int32[Castlabels_dim_0,Castlabels_dim_1],现在就导致转出为mnn会有维度丢失问题,请问我这个输出头是不是不正常的,如果是正常,可以有办法让输出维度固定么
@JasonLiJin 您好,前后处理和YOLOv8没有区别,目前我们提供了
deploy/onnx_demo.py
可供参考。如果不想在ONNX中引入NMS,我们也即将push一个新版本将NMS排除ONNX外并提供推理测试的脚本,欢迎关注!多谢,我在导出为onnx的时候,发现输出的维度都是变量,export的时候是把默认的class重参数化到backbone的,num_dets name: num_dets tensor: int64[ReduceSumnum_dets_dim_0,1] boxes name: boxes tensor: float32[ReduceSumnum_dets_dim_0,Splitboxes_dim_1,Splitboxes_dim_2] scores name: scores tensor: float32[ReduceSumnum_dets_dim_0,Splitboxes_dim_1] labels name: labels tensor: int32[Castlabels_dim_0,Castlabels_dim_1],现在就导致转出为mnn会有维度丢失问题,请问我这个输出头是不是不正常的,如果是正常,可以有办法让输出维度固定么
您好,我目前也在看这个export_onnx.py,但是我运行出现了这个问题。 请问您在这个过程中有遇到这个问题吗,如何解决,如您回复,十分感谢!