Hey
I'm struggling with some typing issue when it comes to the pipelines. Following the documentation I created my pipeline from functions, added params and bind them to a single step of my pipeline.
from clearml import PipelineController
def generate_data(epoch: int):
for i in range(epoch):
print(i)
if __name__ == "__main__":
pipe = PipelineController(name="xyz", project="examples")
pipe.add_parameter("epoch", default=10, param_type=int)
pipe.add_function_step(name="step_one",function=generate_data,function_kwargs={"epoch": '${pipeline.epoch}'})
pipe.start_locally(run_pipeline_steps_locally=True)
The "epoch" data is passed correctly however it's a string instead of int which gives me errors later in the function itself. I suppose it's because this '${pipeline.epoch}' substitutes value as a string, however I cannot figure out how to force ClearML to bind this parameter with its initial type.
What's even more interesting, in the Web UI this param is correctly recognised as an int.
Do you have any ideas how to solve it?