diff --git a/docs/example/minimal_fasttrackml.py b/docs/example/minimal_fasttrackml.py index edd6e96f8..c103b982a 100644 --- a/docs/example/minimal_fasttrackml.py +++ b/docs/example/minimal_fasttrackml.py @@ -1,10 +1,9 @@ import time from random import randint, random -from fasttrackml.entities.metric import Metric - import fasttrackml from fasttrackml import FasttrackmlClient +from fasttrackml.entities.metric import Metric def print_metric_info(history): diff --git a/pkg/api/mlflow/services/run/converters.go b/pkg/api/mlflow/services/run/converters.go index 941a2dc98..d8cb0aab1 100644 --- a/pkg/api/mlflow/services/run/converters.go +++ b/pkg/api/mlflow/services/run/converters.go @@ -5,6 +5,7 @@ import ( "github.com/G-Research/fasttrackml/pkg/api/mlflow/api/request" "github.com/G-Research/fasttrackml/pkg/api/mlflow/dao/models" + "github.com/google/uuid" ) // adjustSearchRunsRequestForNamespace preprocesses the SearchRunRequest for the given namespace. @@ -29,6 +30,7 @@ func ConvertCreateRunArtifactRequestToModel( namespaceID uint, req *request.LogArtifactRequest, ) *models.Artifact { return &models.Artifact{ + ID: uuid.New(), Iter: req.Iter, Step: req.Step, RunID: req.RunID, diff --git a/python/client_example.py b/python/client_example.py index 07247ce3b..3e9757d75 100644 --- a/python/client_example.py +++ b/python/client_example.py @@ -1,10 +1,9 @@ import time from random import randint, random -from fasttrackml.entities.metric import Metric - import fasttrackml from fasttrackml import FasttrackmlClient +from fasttrackml.entities.metric import Metric def print_metric_info(history): diff --git a/python/client_test.py b/python/client_test.py index 79615bdbd..6083ecdaa 100644 --- a/python/client_test.py +++ b/python/client_test.py @@ -6,9 +6,9 @@ from random import random, uniform import pytest -from fasttrackml.entities import Metric, Param from fasttrackml import FasttrackmlClient +from fasttrackml.entities import Metric, Param LOCALHOST = "127.0.0.1" @@ -115,3 +115,11 @@ def test_init_output_logging(client, server, run): for i in range(100): log_data = str(uuid.uuid4()) + "\n" + str(uuid.uuid4()) print(log_data) + + +def test_log_image(client, server, run): + # test logging some images + for i in range(100): + assert ( + client.log_image(run.info.run_id, "dice.png", "images", "These are dice", 0, 640, 480, "png", i, 0) == None + ) diff --git a/python/dice.png b/python/dice.png new file mode 100644 index 000000000..39af456c5 Binary files /dev/null and b/python/dice.png differ diff --git a/python/fasttrackml/store/custom_rest_store.py b/python/fasttrackml/store/custom_rest_store.py index 8307d042f..d76d2e804 100644 --- a/python/fasttrackml/store/custom_rest_store.py +++ b/python/fasttrackml/store/custom_rest_store.py @@ -310,7 +310,7 @@ def log_image( "json": request_body, } ) - if result.status_code != 200: + if result.status_code != 201: result = result.json() if "error_code" in result: raise MlflowException(