huggingface / exporters

Export Hugging Face models to Core ML and TensorFlow Lite
Apache License 2.0
622 stars 46 forks source link

[WIP] Added support for converting LayoutLMv3 to CoreML #78

Open salmanmaq opened 5 months ago

salmanmaq commented 5 months ago

This is a WIP implementation of converting a multimodal model (LayoutLMv3) to CoreML. While I was able to adapt the library to convert the model, the resulting model doesn't predict correctly (testing in both Swift on mobile as well as with coremltools in Python). I would appreciate any feedback to make it work.

I had to patch two pytorch ops:

  1. clip: As it's an alias of clamp, I reused the same code from coremltools here.
  2. one_hot: I used some help from Copilot and LLMs to write this and make it work. However, I am not sure if it's the correct implementation. I suspect that the error might lie in this one.