Skip to content

Fix(ExpManager): Resolve MLflow run_name duplicate argument error#15261

Open
chaosido wants to merge 2 commits into
NVIDIA-NeMo:mainfrom
chaosido:fix/mlflow-run-name-conflict
Open

Fix(ExpManager): Resolve MLflow run_name duplicate argument error#15261
chaosido wants to merge 2 commits into
NVIDIA-NeMo:mainfrom
chaosido:fix/mlflow-run-name-conflict

Conversation

@chaosido
Copy link
Copy Markdown
Contributor

@chaosido chaosido commented Jan 6, 2026

What does this PR do ?
This PR resolves a TypeError in
exp_manager
when initializing the MLFlowLogger. The error occurs because MLFlowLogger is called with an explicit run_name=version argument while **mlflow_kwargs (serialized from a DictConfig schema) also contains a default run_name: None field, leading to a "multiple values for keyword argument" conflict.

Collection: Core / Utils

Changelog
Modified
nemo/utils/exp_manager.py
to convert mlflow_kwargs to a native dictionary and pop('run_name') before passing it to the MLFlowLogger constructor.
Usage
no changes

exp_manager:
create_mlflow_logger: true
mlflow_logger_kwargs:
experiment_name: my_experiment
tracking_uri: file://./mlruns
GitHub Actions CI
The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.

Before your PR is "Ready for review"
Pre checks:

Make sure you read and followed Contributor guidelines
Did you write any new necessary tests? (Benign fix to logging initialization)
Did you add or update any necessary documentation?
Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
Reviewer: Does the PR have correct import guards for all optional libraries? (MLflow is optional but already handled by existing imports)
PR Type:

New Feature
Bugfix
Documentation
Who can review?
@titu1994, @ericharper

Additional Information
Related to reported issues with MLflow integration in NeMo 2.x where Hydra schemas serialize default None values into keyword arguments.

chaosido and others added 2 commits January 6, 2026 13:45
Removes run_name from mlflow_kwargs before unpacking into MLFlowLogger. Also ensures DictConfig is converted to container first.

Signed-off-by: chaosido <wonnink.jesse@gmail.com>
@jsosulski
Copy link
Copy Markdown

I stumbled upon the same issue, but I would fix it by setting run_name = version in case there is no run_name in kwargs / it's None. Otherwise, you cannot manually set run_name anymore.

@svcnvidia-nemo-ci svcnvidia-nemo-ci added the waiting-on-customer Waiting on the original author to respond label Apr 26, 2026
@svcnvidia-nemo-ci svcnvidia-nemo-ci added waiting-on-maintainers Waiting on maintainers to respond waiting-on-customer Waiting on the original author to respond and removed waiting-on-customer Waiting on the original author to respond waiting-on-maintainers Waiting on maintainers to respond labels Jun 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-request waiting-on-customer Waiting on the original author to respond

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants