Hi there,

I have been trying to get a pre-trained resnet50 model running on the OAK D. I am using PyTorch and getting my model from the torchvision library. This is the model I am using:

"Model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)"
(tried this with torchvision versions 0.19.0 and 0.9.0)

I know I need to convert this model into a .onnx and then into a .blob file. When converting to .onnx, I am able to do this conversion as long as my opset version is 11 or greater. Anything lower then 11 gives problems as the upsample operation used in resnet50 was not supported before opset 11.

Next, I have to convert this .onnx to openVINO's IR and then convert this IR finally into a .blob. This is where the issues occur. Even after simplifying my .onnx file, I am unable to use any of the blob conversion tools to get this .onnx into a .blob.

My question is; does anyone know how to get one of these resnet50 models into a .blob file and, if so, how?

I'm questioning if this approach is even possible given that the blob conversion tool provided by Luxonis uses openVINO 2022.1 which I understand only supports .onnx opset 8. But then this would then mean that any model that cant be converted to a .onnx with opset 8 is unable to be converted to a .blob and would therefore be unusable with the OAK D. My intuition is that this is not true and I am just missing something.
Please help.
Kind regards, Andrew.

Hi @AndyP_63,

As @jakaskerl has already mentioned, you can directly export the pre-trained Resnet50 from the OpenVINO model zoo. Here's the exported model. You can see the model card in the zoo here. The way this conversion works is that the blobconverter automatically downloads the source model from the zoo for you and exports it, so you don't have to upload the model yourself.

Regarding the opsets, with OpenVINO in version 2022.1, you can set opset to a value higher than 8; for example, in our tools.luxonis.com (our tool for converting YOLO models), we use opset 12.

Best
Jan