BaseInferencer batch_size and max_seq_len cast to int #2074
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.
Motivation
mmengine
supports a convenient syntax for injecting environment variables into configuration files. For instance:In this example,
batch_size
defaults to"4"
unless theBATCH_SIZE
environment variable is set, in which case its value is used. However,mmengine
does not automatically cast the environment variable to the appropriate type, resulting inbatch_size
andmax_out_len
being passed as strings to theGenInferencer
—which expects integers.Modification
This PR adds explicit type casting for
batch_size
andmax_out_len
withinBaseInferencer
, ensuring they are correctly interpreted as integers regardless of whether they originate from environment variables or direct configuration.Backward Compatibility
This change is backward compatible. Explicit casting with
int()
on values that are already integers has no effect, so existing configurations will continue to function as expected.Use Cases
This enables seamless use of
mmengine
-style environment variable injection forbatch_size
andmax_out_len
in OpenCompass configurations.Checklist
Before PR:
After PR: