AI Model Efficiency Toolkit (AIMET) Forum

Custom tf ops support for CenterNet Resnet50

Hi,
I am trying to quantize the CenterNet Resnet-50 using AIMET, but the QuantSim() API breaks after 6 hours without any errors/warnings.
Model Link: https://github.com/xuannianz/keras-CenterNet

Also I am not able to create ONNX for this model using tf2onnx package, got the warnings saying some custom ops are not supported

The lamba functions are defined in the model (keras-CenterNet/resnet.py at 39cb123a94d7774490df28e637240de03577f912 · xuannianz/keras-CenterNet · GitHub).
Can you give me some pointers on how to implement these custom ops to pass through AIMET? Thanks in advance!

@mcw_qc_aimet Could you please share the specific checkpoint corresponding to the model you are using, so we can investigate further. Also, looks like this model has some custom op implementations (as pointed out by ONNX failure). What are these custom ops?

The checkpoint I’ve used is keras_centernet - Google Drive.

The two major custom functions wrapped with Lamda are:

  1. Detection Bounding Box post processing the function is defined in keras-CenterNet/resnet.py at 39cb123a94d7774490df28e637240de03577f912 · xuannianz/keras-CenterNet · GitHub
  2. the custom loss function in keras-CenterNet/resnet.py at 39cb123a94d7774490df28e637240de03577f912 · xuannianz/keras-CenterNet · GitHub. Both the tf2onnx tool & AIMET unable to wrap these custom ops.