[SAM3] Enable single-scale input support in Mask Decoder #43044
+90
−41
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.
Enables single-scale inference for
Sam3MaskDecoder, bringing parity with the original implementation where full FPN levels aren't strictly required. I modified theforwardmethod to handle single-tensor inputs by bypassing the multi-scale fusion block and routing the feature directly through the primary projection layer.This change is fully backward compatible: standard multi-scale inputs continue to use the existing FPN path. I also added a contract check that logs a warning when the input scale count deviates from the config, ensuring users are explicitly aware when the model falls back to single-scale mode. Tests added to verify both the new fallback path and regression safety.
Fixes #43043