can you point me to where I should look?
AgitatedDove14 CostlyOstrich36 I think that is the approach that'll work for me. I just need to be able to remove checkpoints I don't need given I know their name, from the UI and Storage.
How do I go about uploading those registered artifacts, would I just pass artifacts[i] and the name for the artifact?
I understand your problem. I think you normally can specify where you want the data to be stored in a conf file somewhere. people here can better guide you. However in my experience, it kinda uploads the data and stores it in its own format.
You're suggesting that the false is considered a string and not a bool? Am I understanding it correctly? Also, in that case, wouldn't this problem also occur when I originally create the task using clearml-task?
Or am I not understanding it clearly.
I just followed the instructions here at https://github.com/allegroai/clearml-serving
In the end it says I can curl at the end point and mentions the serving-engine-ip but I cant find the ip anywhere.
I think I understand. Still I've possibly pinned down the issue to something else. I'm not sure if i'll be able to fix it on my own though.
To be more clear. An example use case for me would be, that I'm trying to make a pipeline which every time a new dataset/batch is published using clearml-data,
Get the data Train it Save the model and publish it
I want to start this process with a trigger when a dataset is published to the server. Any example which I can look to for accomplishing something like this?
If there aren't N datasets, the function step doesn't Squash the datasets and instead just returns -1.
Thus if I get -1, I want the pipeline execution to end or the proceeding task to be skipped.
I have checked in the args, the value is indeed -1. Unless there is some other way for conditional pipeline steps execution.
Is this how I'm supposed to send the request to stop all running tasks, if task_ids is the list of task ids which are still running?
Lastly, I have asked this question multiple times, but since the MLOps process is so new, I want to learn from others experience regarding evaluation strategies. What would be a good evaluation strategy? Splitting the batch into train test? that would mean less data for training but we can test it asap. Another idea I had was training on the current batch, then evaluating it on incoming batches. Any other ideas?
Thank you. I didn't realize that the output could be accessed like this.
For anyone reading this. apparently there aren't any credentials for my own custom server for now. I just ran it without credentials and it seems to work.
Okay so I read the docs and the above questions are cleared now thank you. I just have one other question, how would I access the artifact of a previous step within the pre execute callback? Can you share an example?
after creating, I tried adding batch to it and got this error
I plan to append the checkpoint to a list, when the len(list) > N, I'll just pop out the one with the highest loss, and delete that file from clearml and storage. That's how I plan to work with it.
in case of a string and incase of an object?
from sklearn.datasets import load_iris
import tensorflow as tf
import numpy as np
from clearml import Task, Logger
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--epochs', metavar='N', default=64, type=int)
args = parser.parse_args()
parsed_args = vars(args)
task = Task.init(project_name="My Workshop Examples", task_name="scikit-learn joblib example")
iris = load_iris()
data = iris.data
target = i...
Anyway, in the docs, there is a function called task.register_artifact()
I need to both remove the artifact from the UI and the storage.
trigger_scheduler.add_dataset_trigger(schedule_task_id=TASK_ID, schedule_queue='default',
trigger_project='Cassava Leaf Disease Classification', name='start task on data - End Game')
because those spawned processes are from a file register_dataset.py , however I'm personally not using any file like that and I think it's a file from the library.
Ok so update. It works now. last steps I did I can remember to fix it are.
Another question, in the parents sequence in pipe.add_step, we have to pass in the name of the step right?