microsoft / microsoft/Olive

[FR]: Export graphs in NHWC format

Open
#1,791 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
2.4k
Forks
315
Avg merge
4d 11h
Merged PRs (30d)
16

Description

Proposal Summary

Currently, Olive relies on Transformer optimizer within ORT to convert ops like conv and groupnorm from NCHW to NHWC. This can be done for a select category of models (like unet, decoder).
But this is a common problem across many different models, and it would be great to have a general solution that works irrespective of model category.
NHWC format is the most common format used by GPUs and other accelerators as the channels in the inner dimension can be accumulated upon. Thus having this ability to export models with channels last would be widely used.

What component(s) does this request affect?
  • OliveModels
  • OliveSystems
  • OliveEvaluator
  • Metrics
  • Engine
  • Passes
  • Other

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests; begin by locating Olive's model export flow and its integration with the ONNX Runtime Transformer optimizer. Review how NCHW-to-NHWC conversion currently handles convolution and group normalization for UNet and decoder models. Done means a general export path that supports channels-last graphs across model categories, with validation for representative models.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.