From 2317e1ee1899c285c9a1b3ce38759dea9ca45e5f Mon Sep 17 00:00:00 2001 From: Antonin Stefanutti Date: Thu, 9 Jan 2025 18:39:14 +0100 Subject: [PATCH] Use dictionary unpacking to pass trainer function arguments Signed-off-by: Antonin Stefanutti --- sdk_v2/kubeflow/training/utils/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sdk_v2/kubeflow/training/utils/utils.py b/sdk_v2/kubeflow/training/utils/utils.py index cc21b96aa7..8f5f630fa3 100644 --- a/sdk_v2/kubeflow/training/utils/utils.py +++ b/sdk_v2/kubeflow/training/utils/utils.py @@ -149,13 +149,15 @@ def get_args_using_train_func( # Wrap function code to execute it from the file. For example: # TODO (andreyvelich): Find a better way to run users' scripts. - # def train(parameters): + # def train(lr=0.001): # print('Start Training...') # train({'lr': 0.01}) if train_func_parameters is None: func_code = f"{func_code}\n{train_func.__name__}()\n" else: - func_code = f"{func_code}\n{train_func.__name__}({train_func_parameters})\n" + func_code = (f"{func_code}\n" + f"kwargs={train_func_parameters}\n" + f"{train_func.__name__}(**kwargs)\n") # Prepare the template to execute script. # Currently, we override the file where the training function is defined.