Reputation
Badges 1
92 × Eureka!with ssh public key, if from a terminal, I can do git clone, then so do the clearml agent, as it run on behalf of an local user. That apply to both local and VM
there is a whole discussion about it here: None
I really like how you make all this decoupled !! 🎉
Should i open a feature request?
but then it still missing a bunch of library in the Taks (that succeed) > Execution > INSTALLED PACKAGES
So when I do a clone of that task, and try to run the clone, the task fail because it is missing python package 😞
Are the uncommit changes in un-tracked files ?
In other words: clearml will only save uncommited changes from files that are tracked by your local git repo
--gpus 0,1
: I believe this basically say that your code launched by the agent has access to both GPUs and that is it. Now it is up to your code to choose which GPU to use and what not and how ...
what about having 2 agents, one on each GPU, on the same machine, serving the same queue ? So that when you enqueue, which ever agent (thus GPU) available will take the new task
Ok. Found the solution.
The importance is to use this:
Task.add_requirements("requirements.txt")
task = Task.init(project_name='hieutest', task_name='foo',reuse_last_task_id=False)
And not:
task = Task.init(project_name='hieutest', task_name='foo',reuse_last_task_id=False)
task.add_requirements("requirements.txt")
that format is correct as I can run pip install -r requirements.txt
using the exact same file
and in the train.py
, I have task.add_requirements("requirements.txt")
because when I was running both agents on my local machine everything was working perfectly fine
This is probably you (or someone) had set up ssh public key with your git repo sometime in the past
i need to do a git clone
You need to do it to test if it works. Clearml-agent will run it itself when it take in a task
one the same or different machine !
(I never played with pipeline feature so I am not really sure that it works as I imagined ...)
not sure how that work with Docker and machine that is not set up with ssh public key ... We will go to that path sometime in the future so I am quite interested too, on how people do it without ssh public key
I understand for cleaml-agent
What I mean is that I have 2 self deployed server. I want to switch between the 2 config when running the code locally, not inside the agent
even it's just a local image ? You need a docker repository even if it will only be local PC ?
Do I need not make changes into clearml.conf so that it doesn't ask for my credentials or is there another way around
You have 2 options:
- set credential inside cleaml.conf : i am not familiar with this and never test it.
- or setup password less ssh with public key None
you should be able to use as many agent as you want.
On the same or different queue
I don't think agent are aware of each other. Which mean that you can have as many agent as you want and depending on your task usage, they will be fighting for CPU and GPU usage ...
what about the log aroundwhen it try to actually clone your repo ?
normally, you should have a agent running behind a "services" queue, as part of your docker-compose. You just need to make sure that you populate the appropriate configuration on the Server (aka set the right environment variable for the docker services)
That agent will run as long as your self-hosted server is running
is task.add_requirements("requirements.txt")
redundant ?
Is ClearML always look for a requirements.txt
in the repo root ?
I can only guess with little information here. You better try to debug with print statement. Is this happening in submodule uncommited changes ?
you will need to provide more context than that if you don't want the answer: Have you try to turn it off and back on again ?
In the web UI, in the queue/worker tab, you should see a service queue and a worker available in that queue. Otherwise the service agent is not running. Refer to John c above