Skip to content

Conversation

@ytl0623
Copy link
Contributor

@ytl0623 ytl0623 commented Jan 15, 2026

Fixes #8689

Description

Update the docstrings to match the actual code defaults.

  1. AsymmetricFocalLoss (line 103, 111): gamma
  2. AsymmetricUnifiedFocalLoss (line 162, 171): gamma
  3. AsymmetricUnifiedFocalLoss (line 172): epsilon

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • Integration tests passed locally by running ./runtests.sh -f -u --net --coverage.
  • Quick tests passed locally by running ./runtests.sh --quick --unittests --disttests.
  • In-line docstrings updated.
  • Documentation updated, tested make html command in the docs/ folder.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 15, 2026

📝 Walkthrough

Walkthrough

Updated docstrings and a constructor signature in monai/losses/unified_focal_loss.py. AsymmetricFocalLoss docstring gamma default corrected to 2.0. AsymmetricUnifiedFocalLoss constructor parameter order changed (now: to_onehot_y, num_classes, gamma, weight, delta, reduction) and its docstring defaults updated to gamma=0.5 and weight=0.5. Total lines changed: +6 / -7.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning Changes are scoped to docstring corrections only; parameter reordering in AsymmetricUnifiedFocalLoss init signature appears unrelated to the stated objective. The parameter reordering (gamma and weight positions swapped) is a breaking API change not mentioned in issue #8689. Clarify if this is intentional or should be reverted.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed Title accurately summarizes the main change: updating docstrings to match code defaults in unified_focal_loss.py.
Description check ✅ Passed Description covers the issue, lists specific docstring corrections needed, and marks change as non-breaking per template.
Linked Issues check ✅ Passed All three docstring corrections from issue #8689 are addressed: AsymmetricFocalLoss gamma fix, AsymmetricUnifiedFocalLoss gamma fix, and epsilon parameter removal.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@monai/losses/unified_focal_loss.py`:
- Around line 171-172: The docstring for the weight parameter is out of sync
with the function signature: update the docstring for the weight parameter in
UnifiedFocalLoss (the parameter named weight in the constructor/signature) to
reflect the actual default of 0.5 (e.g., "Defaults to 0.5.") so it matches the
signature where weight: float = 0.5.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 57fdd59 and 6925d03.

📒 Files selected for processing (1)
  • monai/losses/unified_focal_loss.py
🧰 Additional context used
📓 Path-based instructions (1)
**/*.py

⚙️ CodeRabbit configuration file

Review the Python code for quality and correctness. Ensure variable names adhere to PEP8 style guides, are sensible and informative in regards to their function, though permitting simple names for loop and comprehension variables. Ensure routine names are meaningful in regards to their function and use verbs, adjectives, and nouns in a semantically appropriate way. Docstrings should be present for all definition which describe each variable, return value, and raised exception in the appropriate section of the Google-style of docstrings. Examine code for logical error or inconsistencies, and suggest what may be changed to addressed these. Suggest any enhancements for code improving efficiency, maintainability, comprehensibility, and correctness. Ensure new or modified definitions will be covered by existing or new unit tests.

Files:

  • monai/losses/unified_focal_loss.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (19)
  • GitHub Check: min-dep-py3 (3.12)
  • GitHub Check: min-dep-pytorch (2.8.0)
  • GitHub Check: min-dep-pytorch (2.7.1)
  • GitHub Check: min-dep-pytorch (2.6.0)
  • GitHub Check: min-dep-os (ubuntu-latest)
  • GitHub Check: min-dep-pytorch (2.5.1)
  • GitHub Check: min-dep-py3 (3.9)
  • GitHub Check: min-dep-py3 (3.11)
  • GitHub Check: min-dep-py3 (3.10)
  • GitHub Check: min-dep-os (macOS-latest)
  • GitHub Check: min-dep-os (windows-latest)
  • GitHub Check: quick-py3 (macOS-latest)
  • GitHub Check: flake8-py3 (mypy)
  • GitHub Check: flake8-py3 (pytype)
  • GitHub Check: packaging
  • GitHub Check: quick-py3 (ubuntu-latest)
  • GitHub Check: build-docs
  • GitHub Check: quick-py3 (windows-latest)
  • GitHub Check: flake8-py3 (codeformat)
🔇 Additional comments (1)
monai/losses/unified_focal_loss.py (1)

111-111: Docstring now matches code default.

Correctly aligned with gamma: float = 2 on line 103.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Signed-off-by: ytl0623 <david89062388@gmail.com>
Copy link
Member

@ericspod ericspod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ytl0623 I had minor comments but otherwise it looks good to me.

Signed-off-by: ytl0623 <david89062388@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect gamma default values in unified_focal_loss.py docstrings

2 participants