Reputation
Badges 1
25 × Eureka!current task fetches the good Task
Assuming you fork the process than the gloabl instance" is passed to the subprocess. Assuming the sub-process was spawned (e.g. POpen) then an environement variable with the Task's unique ID is passed. then when you call the "Task.current_task" it "knows" the Task was already created and it will fetch the state from the clearml-server and create a new Task object for you to work with.
BTW: please use the latest RC (we fixed an issue with exactly this...
You mean to add these two to the model when deploying?
β βββ model_NVIDIA_GeForce_RTX_3080.plan
β βββ model_Tesla_T4.plan
Notice the preprocess.py is Not running on the GPU instance, it is running on a CPU instance (technically not the same machine)
Hi @<1541954607595393024:profile|BattyCrocodile47>
It seems to me that instead of implementing webhooks to react to things like adding a tag to a model
Did you look at this example ?
None
Can we straightforwardly stream ALL ClearML events to another system?
what would you consider an event?
The "basic" object type is Task, a state in task is changed via an api call, would that be an e...
Hi @<1726410010763726848:profile|DistinctToad76>
Why not just report scalars, the x-axis you can use as "iterations" if this is a running in real time to collect the prompts.
If this is a summary then just report a scatter plot (you can also specify the names of the axis and the series)
None
Ohh, two options:
From the script itself you can do:from clearml import Task task = Task.init(...) task.execute_remotely(queue='default')Then run the script locally, it will get until the "execute_remotely call, quit the process and re-launch it on the "default" queue.
Option B:
Use the cleaml-task$ clearml-task --folder <where the script is> --project ...See https://github.com/allegroai/clearml/blob/master/docs/clearml-task.md#launching-a-job-from-a-local-script
Specifically notice step (1) and (2) they are important for Windows docker service to be able to run the elastic container and mongo container
ResponsiveCamel97
BTW: any reason not to allow this flexibility ?
Also, I did also accidentally create multiple services via
clearml-serving create --name <> --project <>
, and cannot get rid of them.
find them in the UI (you can go to All Projects, then in the search bar put their UIs) and archive / delete them
So the part that is confusing to me is: None
who / how is this Task running? did you also setup a "service" queue (as part of the clear...
I changed them to the one exposed to the users (the same I have in my local clearml.conf) and things work.
Nice!
But I can't really figure out why that would be the case...
So the thing is, the link to the files are generated by the clients, which means the actual code generated a link an internal link to the file server (i.e. a link that only works inside the k8s cluster). When you wanted to see the image/plot you were accessing it from outside the cluster, and the link simply ...
HealthyStarfish45 We are now working on improving the k8s glue (due to be finished next week) after that we can take a stab at slurm, it should be quite straight forward. Will you be able to help with a bit of testing (setting up a slurm cluster is always a bit of a hassle π )?
you can also get it flattened with:task.get_parameters()Type in both cases is string
Good news, there is an offline mode.Task.set_offline(True)
If you want your code to be aware, you can do:from trains import Task if Task.current_task(): Task.current_task().get_logger().report_confusion_matrix(...)
If you mean like Canary ? then yes, but only on KFserving baclend (coming soon), since the engines themselves do not support it (this is basically a "routing" feature)
and what is --storage s3//:inference ?
if you are using minio it should be something like None
Notice you have to specify the IP:port otherwise it thinks it is an AWS endpoint
Hi BoredHedgehog47
Just make sure it is installed as part of the "installed packages" π
You should end up with something likegit+You can actually add it from your code:Task.add_requirements("git+ ") task = Task.init(...)Notice you can also add a specific commit or branch git+ https://github.com/user/repo.git@ <commit_id_here_if_needed>
Is this what you are looking for ?
EDIT:
you can also do "-e ." that should also work:
` Task.add_requirements("-e .")
task = Ta...
Archived is actually just a "flag" on the Task. If you actually want to delete it (incl artifacts), in the archived view, right click and select delete
could you remove it and test ?
Notice that the actual configuration that is used is the https://github.com/allegroai/clearml/blob/b21e93272682af99fffc861224f38d65b42c2354/clearml/backend_config/bucket_config.py#L23
But it is created here:
https://github.com/allegroai/clearml/blob/b21e93272682af99fffc861224f38d65b42c2354/clearml/backend_config/bucket_config.py#L199
so I wanted to keep our βforkβ of the autoscaler but I guess this is not supported.
you are correct π
I wonder, " I customized it a bit to our workflow " what did you add?
does this mean that Task stores --args (and propagates these further through the code as CLI arguments) somewhere where i can get and manipulate them from my code?
Yes it changes the actual argparse object and pushes the new values in runtime, basically you args.parse() will return the values from the UI (backend)
Hi LazyFox65
So the idea is that you add two lines of code to your codebase :from clearml import Task task = Task.init(project_name='examples', task_name='change me')And you run it once, then it will create the experiment, environment arguments etc.
Now that you have it in the UI you can clone / change all the fields and send for execution.
That said you can also create an experiment from CLI (basically pointing to a repo and entry point)
You can read here:
https://github.com/allegroa...
https://github.com/allegroai/clearml/issues/199
Seems already supported for a while now ...
WorriedParrot51 I now see ...
Two solutions that I can quickly think of:
In the code add:import sys sys.path.append('./my_sub_module')Assuming you always have to add the sub-directories to make the code work, and assuming they are part of the repository, this is probably the table stolution
2. In the the UI in the Docker base image, add -e PYTHONPATH=/folder
or from code (which is exactly what you did)
a clean interface task.set_base_docker('nvidia/cids -e PYTHONPATH=/folder")