Hi ConfusedPig65
Any keras model will be automatically uploaded if you pass an upload url to the Task init:task = Task.init('examples', 'keras upload test', output_uri="
")
(You can also pass to output_uri s3://buckket/folder or change the default output_uri in the clearml.conf file)
After this line any keras model will be automatically uploaded (you will see it under the Artifacts Tab)
Accessing models from executed tasks:trains_task = Task.get_task('task_uid_here') last_checkpoint = trains_task.models['output'][-1].get_local_copy()
It does not upload, the default behavior is to log the artifact (so you know where you stored, but not enforce unnecessary uploads)
If you were to change:task = Task.init(project_name='examples', task_name='Keras with TensorBoard example')
to:task = Task.init(project_name='examples', task_name='Keras with TensorBoard example', output_uri="
")
It would also upload the model
Ok great, otherwise is there another way?
Hmm, but this is different than you described earlier
So I have a task that just loads a model, but I don't see it as an artifact in the UI
And what if I have a model but not a weights_url?
You can check the keras example, run it twice, on the second time it will continue from the previous checkpoint and you will have input and output model.
https://github.com/allegroai/clearml/blob/master/examples/frameworks/keras/keras_tensorboard.py
You can always log it manually:from clearml import InputModel input_model = InputModel.import_model(weights_url='/tmp/keras_example/weight.6.hdf5')
Then check in the clearml.conf
under files_server
And use what you have there (for example http://localhost:8081 )
If you are using the latest RC:pip install clearml==0.17.5rc5
You can pass True
it will use the "files_server" as configured in your clearml.conf
I used the http link as a filler to point to the files_server.
Make sense ?
And I initialized the task with the output_uri
And then I check the artifacts for the task in the UI and don't see anything
So I have a task that just loads a model, but I don't see it as an artifact in the UI
You should see it under Artifacts, Input model if you are calling Keras load function (or similar)
Okay ConfusedPig65 I found the problem. For some reason the latest TF.keras.load_model . save_model is not tracked.
I'll make sure we push a fix later today
ohh sorry, weights_url=path
Basically url can be the local path to the weights file 🙂
ConfusedPig65 could you send the full log (console) of this execution?
Where exactly does the artifact upload happen here?
Hmm, I think it is this line:
WARNING - Model configuration only supports dictionary or string objects
done
Let me check something.
Ah, thanks. What should I use as an upload url? Is"
"
OK, or was that just a filler?