feat: align nll_loss with PyTorch Python API#810
Draft
voltjia wants to merge 1 commit into
Draft
Conversation
voltjia
force-pushed
the
feat/align-nll-loss-python-api
branch
from
July 24, 2026 08:02
08f7b04 to
214dc66
Compare
voltjia
force-pushed
the
feat/align-nll-loss-python-api
branch
from
July 24, 2026 08:27
214dc66 to
9ed62f4
Compare
voltjia
force-pushed
the
feat/align-nll-loss-python-api
branch
from
July 24, 2026 11:07
9ed62f4 to
d10fc8e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nll_lossinterface in PyTorch Python parameter order.[[deprecated]]compatibility overload.Motivation
The previous public interface exposed the lower-level ATen reduction enum and placed
reductionbeforeignore_index. PyTorch users instead seesize_average,ignore_index,reduce, and a stringreductionin that order. The earlier revision added convenience overloads for every trailing default; this revision keeps the API surface minimal.No standalone issue is associated with this alignment follow-up.
Type of Change
feat- new feature / new operator / new platformfix- bug fixperf- performance improvement (no behavioral change)refactor- code restructuring without behavior changetest- adding or fixing tests onlydocs- documentation onlybuild/ci- build system or CI configurationchore- tooling, formatting, or other non-code changesPlatforms Affected
WITH_CPU)WITH_NVIDIA)WITH_ILUVATAR)WITH_METAX)WITH_CAMBRICON)WITH_MOORE)WITH_ASCEND)WITH_TORCH)Smoke Test Result
Test Results on Supported Platforms
Benchmark / Performance Impact
N/A. Reduction argument translation occurs during operator construction; the ATen execution path is unchanged.
Notes for Reviewers
API alignment
nll_loss(input, target, weight, size_average, ignore_index, reduce, reduction, out)outremains last perCONTRIBUTING.md.F.nll_loss(input, target, weight=None, size_average=None, ignore_index=-100, reduce=None, reduction="mean")nll_loss(input, target, weight, reduction, ignore_index, out)size_averageandreduceretain PyTorch's legacy override behavior when either is provided.