Open3
LaMa ONNX
https://huggingface.co/Carve/LaMa-ONNX/resolve/main/lama_fp32.onnx?download=true
pip show onnx2tf spo4onnx
Name: onnx2tf
Version: 1.26.2
Name: spo4onnx
Version: 1.0.5
onnxsim lama_fp32.onnx lama_fp32.onnx \
--overwrite-input-shape "image:1,3,512,512" "mask:1,1,512,512"
ONNXSIM_FIXED_POINT_ITERS=10000 spo4onnx -if lama_fp32.onnx
- Before onnxsim
ssc4onnx -if lama_fp32.onnx
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ OP Type ┃ OPs ┃ Sizes ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Add │ 253 │ 0.0B │
│ BatchNormalization │ 75 │ 300.3KiB │
│ Cast │ 782 │ 21.4KiB │
│ Clip │ 1 │ 0.0B │
│ Concat │ 1,360 │ 32.3KiB │
│ Constant │ 7,054 │ 56.8KiB │
│ ConstantOfShape │ 98 │ 784.0B │
│ Conv │ 222 │ 188.4MiB │
│ ConvTranspose │ 3 │ 5.9MiB │
│ Cos │ 144 │ 0.0B │
│ Div │ 432 │ 0.0B │
│ Einsum │ 216 │ 12.2KiB │
│ Gather │ 396 │ 9.6KiB │
│ MatMul │ 216 │ 0.0B │
│ Mul │ 292 │ 0.0B │
│ Neg │ 36 │ 0.0B │
│ Pad │ 98 │ 5.4KiB │
│ Range │ 180 │ 0.0B │
│ Relu │ 152 │ 0.0B │
│ Reshape │ 1,348 │ 31.6KiB │
│ Shape │ 1,188 │ 0.0B │
│ Sigmoid │ 1 │ 0.0B │
│ Sin │ 144 │ 0.0B │
│ Slice │ 1,322 │ 0.0B │
│ Sqrt │ 144 │ 0.0B │
│ Squeeze │ 72 │ 0.0B │
│ Sub │ 109 │ 0.0B │
│ Transpose │ 638 │ 54.4KiB │
│ Unsqueeze │ 504 │ 0.0B │
│ ---------------------- │ ---------- │ ---------- │
│ Total number of OPs │ 17,480 │ │
│ ---------------------- │ ---------- │ ---------- │
│ Total params │ 48.6M │ │
│ ====================== │ ========== │ ========== │
│ Model Size │ 198.4MiB │ 194.8MiB │
└────────────────────────┴────────────┴────────────┘
INFO: file: lama_fp32.onnx
INFO: producer: pytorch 2.3.0
INFO: opset: 17
INFO: input_name.1: image shape: ['batch', 3, 512, 512] dtype: float32
INFO: input_name.2: mask shape: ['batch', 1, 512, 512] dtype: float32
INFO: output_name.1: output shape: ['batch', 3, 512, 512] dtype: float32
INFO: Finish!
- After onnxsim
ssc4onnx -if lama_fp32.onnx
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ OP Type ┃ OPs ┃ Sizes ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ Add │ 252 │ 280.0B │
│ BatchNormalization │ 75 │ 300.3KiB │
│ Cast │ 315 │ 8.6KiB │
│ Clip │ 1 │ 8.0B │
│ Concat │ 954 │ 28.0KiB │
│ Conv │ 222 │ 188.4MiB │
│ ConvTranspose │ 3 │ 5.9MiB │
│ Cos │ 140 │ 0.0B │
│ Div │ 427 │ 308.0B │
│ Einsum │ 216 │ 108.2KiB │
│ Gather │ 387 │ 12.4KiB │
│ MatMul │ 216 │ 80.5KiB │
│ Mul │ 284 │ 564.0B │
│ Neg │ 36 │ 0.0B │
│ Pad │ 77 │ 9.0KiB │
│ Range │ 175 │ 1.9KiB │
│ Relu │ 152 │ 0.0B │
│ Reshape │ 854 │ 20.3KiB │
│ Shape │ 774 │ 0.0B │
│ Sigmoid │ 1 │ 0.0B │
│ Sin │ 140 │ 0.0B │
│ Slice │ 848 │ 21.0KiB │
│ Sqrt │ 140 │ 0.0B │
│ Squeeze │ 72 │ 576.0B │
│ Sub │ 109 │ 4.0B │
│ Transpose │ 468 │ 41.3KiB │
│ Unsqueeze │ 459 │ 3.6KiB │
│ ---------------------- │ ---------- │ ---------- │
│ Total number of OPs │ 7,797 │ │
│ ---------------------- │ ---------- │ ---------- │
│ Total params │ 48.7M │ │
│ ====================== │ ========== │ ========== │
│ Model Size │ 197.2MiB │ 194.9MiB │
└────────────────────────┴────────────┴────────────┘
INFO: file: lama_fp32.onnx
INFO: producer: pytorch 2.3.0
INFO: opset: 17
INFO: input_name.1: image shape: [1, 3, 512, 512] dtype: float32
INFO: input_name.2: mask shape: [1, 1, 512, 512] dtype: float32
INFO: output_name.1: output shape: ['batch', 3, 512, 512] dtype: float32
- After spo4onnx
ONNXSIM_FIXED_POINT_ITERS=10000 spo4onnx -if lama_fp32.onnx
INFO: Optimization of graph output shape in progress.
INFO: onnxsim==0.4.30 being installed.
INFO: Model optimization in progress. If there are thousands of OPs, it will take several minutes.
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [20:30<00:00, 153.78s/it]
INFO: The version of onnxsim is being restored.
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ ┃ Original Model ┃ Simplified Model ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ Add │ 252 │ 217 │
│ BatchNormalization │ 75 │ 75 │
│ Cast │ 315 │ 0 │
│ Clip │ 1 │ 1 │
│ Concat │ 954 │ 110 │
│ Conv │ 222 │ 222 │
│ ConvTranspose │ 3 │ 3 │
│ Cos │ 140 │ 0 │
│ Div │ 427 │ 252 │
│ Einsum │ 216 │ 216 │
│ Gather │ 387 │ 72 │
│ MatMul │ 216 │ 216 │
│ Mul │ 284 │ 4 │
│ Neg │ 36 │ 36 │
│ Pad │ 77 │ 77 │
│ Range │ 175 │ 0 │
│ Relu │ 152 │ 152 │
│ Reshape │ 854 │ 432 │
│ Shape │ 774 │ 0 │
│ Sigmoid │ 1 │ 1 │
│ Sin │ 140 │ 0 │
│ Slice │ 848 │ 144 │
│ Sqrt │ 140 │ 0 │
│ Squeeze │ 72 │ 72 │
│ Sub │ 109 │ 109 │
│ Transpose │ 468 │ 468 │
│ Unsqueeze │ 459 │ 144 │
│ ---------------------- │ ---------------- │ ---------------- │
│ Total number of OPs │ 7,797 │ 3,023 │
│ ====================== │ ================ │ ================ │
│ Model Size │ 197.2MiB │ 195.7MiB │
└────────────────────────┴──────────────────┴──────────────────┘
INFO: Save onnx to: lama_fp32.onnx
- onnx2tf
onnx2tf -i lama_fp32.onnx -cotof