Hi SpotlessFish46 ,
Is the artifact already in S3 ?
Is the S3 configured as the default files_server in the trains.conf
?
You can always use the StorageManager upload to wherever and register the url on the artifacts.
You can also programmatically change the artifact destination server to S3, then upload the artifact as usual.
What would be the best natch for you?
SpotlessFish46 You can change models and artifacts destination per experiment with output_uri
https://github.com/allegroai/trains/blob/b644ec810060fb3b0bd45ff3bd0bce87f292971b/trains/task.py#L283 , can this work for you?
AgitatedDove14 Yes, the artifact is already in S3. The best match for me is programmatically changing the artifact destination server to S3 and uploading it as usual. How I change the artifact destination of a specific experiment?
SpotlessFish46 It should work 🙂
TimelyPenguin76 Thanks! To make sure I understand it correctly, now I can do something like:task.upload_artifact('my_name',<S3-ADDRESS>)
And when it runs, it will navigate in the S3 storage to find the exact file.
Am I get it right?
For this you don’t really need the output_uri
, you can just do it as is.
TimelyPenguin76 I am using Task.Create() function and not Task.init(). The question is: can I change the output_uri member by calling the output_uri setter like:task = Task.create()
task.output_uri(my_output_uri)