mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-05 08:37:06 +08:00
Fix the confused enable_early_stop when only set early_stop_config (#3214)
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled
* fix the confused early_stop_config when only set early_stop_config * pre-commit * write a general method
This commit is contained in:
@@ -39,6 +39,10 @@ from fastdeploy import envs
|
|||||||
|
|
||||||
T = TypeVar("T")
|
T = TypeVar("T")
|
||||||
|
|
||||||
|
# [N,2] -> every line is [config_name, enable_xxx_name]
|
||||||
|
# Make sure enable_xxx equal to config.enable_xxx
|
||||||
|
ARGS_CORRECTION_LIST = [["early_stop_config", "enable_early_stop"], ["graph_optimization_config", "use_cudagraph"]]
|
||||||
|
|
||||||
|
|
||||||
class EngineError(Exception):
|
class EngineError(Exception):
|
||||||
"""Base exception class for engine errors"""
|
"""Base exception class for engine errors"""
|
||||||
@@ -361,8 +365,16 @@ class FlexibleArgumentParser(argparse.ArgumentParser):
|
|||||||
namespace = argparse.Namespace()
|
namespace = argparse.Namespace()
|
||||||
for key, value in filtered_config.items():
|
for key, value in filtered_config.items():
|
||||||
setattr(namespace, key, value)
|
setattr(namespace, key, value)
|
||||||
|
args = super().parse_args(args=remaining_args, namespace=namespace)
|
||||||
|
|
||||||
return super().parse_args(args=remaining_args, namespace=namespace)
|
# Args correction
|
||||||
|
for config_name, flag_name in ARGS_CORRECTION_LIST:
|
||||||
|
if hasattr(args, config_name) and hasattr(args, flag_name):
|
||||||
|
# config is a dict
|
||||||
|
config = getattr(args, config_name, None)
|
||||||
|
if config is not None and flag_name in config.keys():
|
||||||
|
setattr(args, flag_name, config[flag_name])
|
||||||
|
return args
|
||||||
|
|
||||||
|
|
||||||
def resolve_obj_from_strname(strname: str):
|
def resolve_obj_from_strname(strname: str):
|
||||||
|
Reference in New Issue
Block a user