Hi Again 👏
I am using ultralytics
to train yolov8
. ClearML automatically track the experiment for me.
I try to add upload the best and last checkpoint maunally, but OutputModel
does not upload the file, instead just reference with a local uri. How should I upload the weight just like the reconfigured tracking?
Code:
# 2. store last.pt and best.pt
best_checkpoint_path = os.path.join("./runs/detect/train/weights/best.pt")
last_checkpoint_path = os.path.join("./runs/detect/train/weights/last.pt")
# TODO: report model metrics to ClearML
best_output_model = OutputModel(task=task, name="best")
best_output_model.update_weights(weights_filename=best_checkpoint_path, async_enable=False)
last_output_model = OutputModel(task=task, name="last")
last_output_model.update_weights(weights_filename=last_checkpoint_path, async_enable=False)
Log:
2024-10-02 17:59:21,520 - clearml.Task - INFO - Completed model upload to
2024-10-02 17:59:21,541 - clearml.model - INFO - No output storage destination defined, registering local model ./runs/detect/train/weights/best.pt
2024-10-02 17:59:21,645 - clearml.model - INFO - No output storage destination defined, registering local model ./runs/detect/train/weights/last.pt
We can see from the log that the model is upload with clearml.Task
, but the OutputModel
is not uploaded. I look into the doc and the only option is to configure a uri, which I don't want a separate bucket for the project.