apple / apple/coremltools

InstanceNorm3D missing

Open
#1,989 2 comments 0 reactions 0 assignees View on GitHub
feature request missing layer type PyTorch (traced)
Dominant language
Python
Stars
5.4k
Forks
850
Avg merge
4d 5h
Merged PRs (30d)
10

Description

I would like to implement InstanceNorm3D. Given that BatchNorm3D and InstanceNorm2D are available as MIL op, this should be straightforward. However, it's not clear to me where I would start implementing this or how to extend the `instance_norm` MIL op to rank 5. For inference with batch size of 1, one could replace instance norm with batch norm instead.
Any advice on that is appreciated.

Edit: After digging around in the code, I see that there's a custom implementation in the case of batchnorm_3d [here](https://github.com/apple/coremltools/blob/9380a1a5d2ab8c1a979aeb65d3d94cdf7eb55a46/coremltools/converters/mil/backend/nn/op_mapping.py#L340C11-L340C11). I guess this has to be done for instance norm 3d as well?

Contributor guide

Open the contributing guide

Research direction

Start by comparing the existing BatchNorm3D and InstanceNorm2D MIL ops, then inspect the custom batchnorm_3d handling in coremltools/converters/mil/backend/nn/op_mapping.py. Determine how the instance_norm MIL op would support rank 5 and whether a corresponding converter path is needed. Done means InstanceNorm3D is implemented and its conversion behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.