but again, if you use an absolute path (like /mnt/mydata
) it should work, I think
Does it possible to know in advance where the Agent will clone the code?
Not really, no
Does it possible to know in advance where the Agent will clone the code?
Or running a link command just before the execution of the code?
I have one computer with 4 GPUs and like to create a queue over the gpus..
For now the project runs without queue.
My configs holds the relative paths to the data (and it can take time to change all of them) so I prefer to work in relative paths if it possible..
However, if you'll use an absolute path, it should work, assuming you can make sure the same path will be mounted inside the docker - how are you using the ClearML Agent?
Yeah, the Agent clones your code to a temporary folder when executing it...
my docker has my project on it all ready so I know where to mount. Maybe the agent moves/create copy of my project somewhere else?
SuccessfulKoala55 Thanks 🙏 ..
Another related question:
My remote job fails because it cannot find the data.FileNotFoundError: [Errno 2] No such file or directory: './data/XXXXXXXX
I mounted the data to the same place relative to my project inside the docker with: extra_docker_arguments
I am using execute_remotely
for enqueue the job.
I know it works locally since the job reads from ./data/XXXX before execute_remotely()
and working.
but when the agent create the docker and run the job it fail.
What could it be?
Yup, as long as it's being executed by a ClearML Agent
Hi SuccessfulKoala55 ,
Dose running_remotely()
will return True even if the task was enqueued from UI and not by execute_remotely
?
Hi CooperativeFox72 ,
Just do:
` from clearml.config import running_remotely
...
if running_remotely():
... `