Solider ReID (Swin - based)

Dear Community,

I try to compile a model for people reidentification ( GitHub - tinyvision/SOLIDER-REID ). This model is based on Swin transformer that must be compatible with hailo.

After exporting and simlifing the model in onnx I parse the model:
$ hailo parser onnx model.sim.onnx --hw-arch hailo8
the error ends with:

f_slice = [index[0] * slice_length, (index[0] + 1) * slice_length]
TypeError: can only concatenate list (not “int”) to list

The foll error is attached as error.log.

Other files attached at https://artifacts.iris-sensing.com/web/client/pubshares/D9cYXYs7DycjxJnnqxXDRj/upload:

  1. error.log - file with the error massage
  2. swin_base_msmt17.sim.onnx - simplified model in an onnx format

P.S. according to the ticket Reproducible recipe for Swin-Tiny ONNX I tried to use both opset 13 and 15, nothing changes the error. I also excluded all blocks except for the SwinBlockSequence (./model/backbones/swin_transformer.py Class SwinBlockSequence). The same erorr.

Any idea what shall I pay attention to?

Kind reagards,

Ruben

Hi @Ruben_Khachaturyan,

The SOLIDER ONNX has lots of procedural mathematical implementations such as range/shape etc. It also uses windowed attention and other transformer machinery that map to:

  • Rank‑0 MatMul (batch-only MatMul)

  • GridSample

  • TopK and related ops in a custom postprocess

  • Various shape/range/reshape gymnastics

We suggest to use a CNN based RE-ID netwrok like (CTL/ResNet50) or (LUPerson). These options High accuracy on Market‑1501 / DukeMTMC, and should be Straightforward, well‑supported ops for our toolchain.

Dear Nadav,

I also saw multiple unappropriated operations.

Thank you for the support :slightly_smiling_face:

Best,
Ruben