Okay I think I found the confusion here (and it is confusing, but also very cool)
This line:metrics_names = {"metrics": ["name", "bias", "r2"]} task.connect(metrics_names)
When running in "manual mode" (i.e. not by an agent), will take the dict metrics_names
and put it on the Tasks HyperParameters section.
But, when executed by the Agent, it will do the opposite! it will take the data stored on the Task's hyperparameters section and put it back into the metrics_names
variable. You can test it with:
Task.debug_simulate_remote_task('my_task_id_that_I_generated_before_here')
metrics_names = {"metrics": ["name", "bias", "r2"]}
task = Task.init(project_name='debug', task_name='check connect dict')
task.connect(metrics_names)
print(metrics_names)
print(type(metrics_names)) `Make sense ?