but i still think the same should be possible using the Task.init
no i don't think so, i think rather Task.init is only used for running outside of agent
and also, on the tutorials that do something with task.init, the example always talks about running locally and not in the agent
hello, i'm still not able to save clearml models. They are generated and registered okay, but they are not on the fileserver. i now have Task.init(output_uri=True) and i also have --skip-task-init in clearml commandline so that it doesn't overwrite the task.init call
task = Task.init(project_name='examples', task_name='moemwap', output_uri=True, reuse_last_task_id=False)
this is the output of the training. it doens't try to upload (note that this is my second try so it already found a model with that name, but on my first try it didn't work either)
so it seems that it takes output_uri from the clearml commandline but not from the Task.init inside the scripot
i can pass any crazy value i want.. it doesn't matter. however, i can use --output_uri= s3://blabla and then at least i get the error that it cannot use that bucket
this is my cmdline: clearml-task --name hla --requirements requirements.txt --project examples --output-uri http://clearml-fileserver:8081 --queue aws-instances --script keras_tensorboard.py
but i still think the same should be possible using the Task.init
This is the part the I find confusing:Task.init(..., output_uri=True) is working for me, what is that setup that caused this line to "fail"?
this is the script shown by clearML ui. so the task.init call looks right
AntsyElk37
and when i try to use --output-uri i can't pass true because obviously i can't pass a boolean only strings
hmm, that sounds right, I think we should fix that so when using --output-uri true the value that is passed is actually True, not the string "true".
Regrading the issue itself:
are you saying --skip-task-init is being ignored ? and it always adds the Task.init call? you can also pass --output-uri https://files.clear.ml (which is the same as True) , does that work?
don't know.. but i see for instance when using clearml-task i can put any (even nonsensical) values in Task.init
...I'm not sure I follow, the clearml-task is designed to always be used so that at the end the agent will be running the Task. What am I missing?
it was to test if reuse_last_task_id made any effect (i have the impression it doesn't)
the model has this information ... the /tmp seem local URIs suggesting that it doesn't even try to upload them
and if you add --skip-task-init ?
I think what happens is that the clearml-Task, adds a Task.init call without the output_uri that is called before "your" Task.init, and this is what causes it to be ignored. Could that be the case?
i set reuse_last_task_id to false to force creation of a new task in all cases
AgitatedDove14 your trick seems to work (i had to change the url to reflect the fact i run on k8s)
and ... clearml-agent takes a --project and a --name argument that are mandatory , so these are never taken from Task.init
for comparison: this is when i use --output-uri
it seems that whatever i pass to Task.init is ignored
and when i try to use --output-uri i can't pass true because obviously i can't pass a boolean only strings
well it made a difference (the code for the init() is not added anymore) but it still didn't take my output uri
well it doesn't fail. but whatever i set gets ignored