LaMa Inpainting Model
This ONNX model is a port of the original PyTorch big-lama model.
HG Space: https://huggingface.co/spaces/Carve/LaMa-Demo-ONNX
Description
There are two versions of the model:
1. lama_fp32.onnx
(RECOMMENDED)
This version was exported using the old torch to ONNX converter (torch.onnx.export
).
Notes:
- Custom FourierUnitJIT: A custom FourierUnitJIT implementation is used since the original cannot be directly ported to ONNX without overhead. The result is identical to the original model.
- Fixed Input Shape: The input shape is fixed at 512x512 pixels. Although dynamic input shapes are possible, they would require resolving issues with dynamic padding in the
irfft
andrfftn
functions inffc.py
. - Opset Version 17: This model uses opset version 17.
- Exportable to TensorRT: The model can be successfully used in TensorRT, etc.
if you need other resolution - export it using our jupyter notebook
2. lama.onnx
(NOT RECOMMENDED)
This version was exported using the new torch to ONNX converter (torch.onnx.dynamo_export
).
Notes:
- Custom DFT irfftn Logic: Uses a custom irfftn ONNX logic (patched
onnxscript
). - Fixed Input Shape: The input shape is fixed at 512x512 pixels.
- Opset Version 18: This model uses opset version 18.
- Performance: The model works slowly due to issues with
torch.onnx.dynamo_export
and optimization of the ONNX model.
Resources
- Original repository: advimman/lama
- Repository with custom implementation of exportable LaMa: Carve-Photos/lama