WisconsinAIVision / yolact_edge

The first competitive instance segmentation approach that runs on small edge devices at real-time speeds.
MIT License
1.27k stars 273 forks source link

OpenVino support #7

Open neixlo opened 3 years ago

neixlo commented 3 years ago

Dear Haotian Liu and Rafael Rivera Soto, thanks for your awesome work and your code!

I'd just want to point out a future enhancement.

Beside the TensorRT framework from Nvidia, which you are using, there is also another major hardware optimization framework: OpenVINO

OpenVINO is the hardware optimization framework for Intel CPUs, (integrated) GPUs, FPGAs and the VPUs (vision processing units). An implementation based on OpenVINO would push your work even more, due to widely used Intel hardware. Even edge devices with the Intel VPU Chips inside are on the rise and enable computing of neural nets on those devices.

Just a suggestion. But let me know if you plan something in this direction ;)

haotian-liu commented 3 years ago

Thank you for your suggestion, and it is a very interesting direction for future improvements. We will be looking forward to contributions and effort towards that.

PINTO0309 commented 3 years ago

I have committed the model converted to OpenVINO IR, although I am still in the process of trial and error and haven't tested it yet. I hope I can be of help to someone else. https://github.com/PINTO0309/PINTO_model_zoo/tree/master/085_Yolact_Edge

hylrh2008 commented 3 years ago

I have committed the model converted to OpenVINO IR, although I am still in the process of trial and error and haven't tested it yet. I hope I can be of help to someone else. https://github.com/PINTO0309/PINTO_model_zoo/tree/master/085_Yolact_Edge I have exported an yolact_edge_mobilenetv2 to OpenVINO model,and test it in c++ demo,https://drive.google.com/drive/folders/1VKgDz09vhndT6EFMEOVkI-fA7kyBf02n?usp=sharing

MiaoRain commented 3 years ago

I have committed the model converted to OpenVINO IR, although I am still in the process of trial and error and haven't tested it yet. I hope I can be of help to someone else. https://github.com/PINTO0309/PINTO_model_zoo/tree/master/085_Yolact_Edge I have exported an yolact_edge_mobilenetv2 to OpenVINO model,and test it in c++ demo,https://drive.google.com/drive/folders/1VKgDz09vhndT6EFMEOVkI-fA7kyBf02n?usp=sharing

Thanks for sharing. How about the FPS of yolact_edge_mobilenetv2 with CPU?

MiaoRain commented 3 years ago

I have committed the model converted to OpenVINO IR, although I am still in the process of trial and error and haven't tested it yet. I hope I can be of help to someone else. https://github.com/PINTO0309/PINTO_model_zoo/tree/master/085_Yolact_Edge I have exported an yolact_edge_mobilenetv2 to OpenVINO model,and test it in c++ demo,https://drive.google.com/drive/folders/1VKgDz09vhndT6EFMEOVkI-fA7kyBf02n?usp=sharing

Hi, thanks for the Openvino. Before getting openvino, we should convert onnx first. However, I met this problem, could you give me some suggestions. Thanks a lot.

RuntimeError: Tried to trace <torch.yolact.FPN_phase_1 object at 0x5adda0d0> but it is not part of the active trace. Modules that are called during a trace must be registered as submodules of the thing being traced.

mathmax12 commented 3 years ago

@MiaoRain I am facing the same issue. Did you solve this issue>?

MiaoRain commented 3 years ago

@MiaoRain I am facing the same issue. Did you solve this issue>? one way is to remove the FPN_phase_1 though changing the flow_base set in the Config file. Another one is to add the mobilenetv2 as a backbone in the Yolact model.

ero1311 commented 3 years ago

@MiaoRain I am facing the same issue. Did you solve this issue>? one way is to remove the FPN_phase_1 though changing the flow_base set in the Config file. Another one is to add the mobilenetv2 as a backbone in the Yolact model.

@MiaoRain could you please share your modified codes and config file with which you succeeded in exporting to onnx?

PINTO0309 commented 2 years ago

TFLite Float32, Float16, Dynamic Range Quantization, INT8, EdgeTPU, ONNX, CoreML, TFJS, TF-TRT, OpenVINO IR FP32/FP16, Myriad Inference Engine Blob. https://github.com/PINTO0309/PINTO_model_zoo/tree/main/085_Yolact_Edge/30_Full_Converted_mbnv2_550x550

napohou commented 2 years ago

@hylrh2008 Hi brother, could you please give me some guide about converting yolactedge to onnx file?

Willforcv commented 2 years ago

@hylrh2008 Hi brother, could you please give me some guide about converting yolactedge to onnx file?

hi, Did you convert the model successfully(*.onnx)?

PINTO0309 commented 2 years ago

All were successful. :+1: https://github.com/PINTO0309/yolact_edge_onnx_tensorrt_myriad