I am new to mlflow. I am trying to track/log some artifacts (a directory of images output by my model) such that they are affiliated with the run that generated them, and so that I can view them in the mlflow UI along with all the other tracked information.
This directory of images is generated in a custom folder path location (with a unique identifier for each run). My goal is to point mlflow to this directory so that it can recognize that these images are artifacts to track.
Is this possible? From my understanding, the mlflow.log_artifact() function will simply create a duplicate of this image and store it within mlflow's default artifact path (ie, something like mydrive1/mlflow/0//artifacts/). I do not want to create a duplicate; I want to keep these images where I originally saved them.
Example of file tree:
mydrive1/
--/train.py
--/mlflow/
----/0/
------/meta.yaml
------/[random char sequence]
--------/artifacts/
--------/meta.yaml
mydrive2/
--/output/
----/my_experiment0/
------/images/
--------/image1.png
--------/image2.png
I have found that if I manually edit the artifact_uri variable (in the meta.yaml file of the relevant run) to point to the relevant directory of images (ie, mydrive2/my_experiment0/images/), all those images will show up in the artifact viewer in the mlflow UI. Is there a way to edit the artifact_uri variable via the mlflow API (or some other principled way)?