You can always log it manually:from clearml import InputModel input_model = InputModel.import_model(weights_url='/tmp/keras_example/weight.6.hdf5')
ohh sorry, weights_url=path
Basically url can be the local path to the weights file 🙂
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 ?
Hmm, I think it is this line:
WARNING - Model configuration only supports dictionary or string objects
done
Let me check something.
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
Ah, thanks. What should I use as an upload url? Is"
"
OK, or was that just a filler?
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
Then check in the clearml.conf
under files_server
And use what you have there (for example http://localhost:8081 )
And I initialized the task with the output_uri
And what if I have a model but not a weights_url?
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
Where exactly does the artifact upload happen here?
ConfusedPig65 could you send the full log (console) of this execution?
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()
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
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)
And then I check the artifacts for the task in the UI and don't see anything