Reputation
Badges 1
662 × Eureka!Thanks David! I appreciate that, it would be very nice to have a consistent pattern in this!
I'm trying to decide if ClearML is a good use case for my team π
Right now we're not looking for a complete overhaul into new tools, just some enhancements (specifically, model repository, data versioning).
We've been burnt by DVC and the likes before, so I'm trying to minimize the pain for my team before we set out to explore ClearML.
Yeah, and just thinking out loud what I like about the numpy/pandas documentation
We load the endpoint (and S3 credentials) from a .env file, so they're not immediately available at the time of from clearml import Task .
It's a convenience thing, rather than exporting many environment variables that are tied together.
Hi SuccessfulKoala55 !
Could you elaborate on how best to delete these from the database?
Another example - trying to validate dataset interactions ends with
` else:
self._created_task = True
dataset_project, parent_project = self._build_hidden_project_name(dataset_project, dataset_name)
task = Task.create(
project_name=dataset_project, task_name=dataset_name, task_type=Task.TaskTypes.data_processing)
if bool(Session.check_min_api_server_version(Dataset.__min_api_version)):
get_or_create_proje...
On it! Should I include the additional user filters described above?
i.e. It does not process tasks on its own?
Another side effect btw is that some of our log files (we add a file handler to the logger) end up at 0 bytes. This specifically happens with Ray and ClearML and does not reproduce locally
Iβll give the create_function_task one more try π€
The documentation is messy, Iβve complained about it the in the past too π
Coming back to this; ClearML prints a lot of error messages in local tests, supposedly because the output streams are not directly available:
` --- Logging error ---
Traceback (most recent call last):
File "/usr/lib/python3.10/logging/init.py", line 1103, in emit
stream.write(msg + self.terminator)
ValueError: I/O operation on closed file.
Call stack:
File "/home/idan/CC/git/ds-platform/.venv/lib/python3.10/site-packages/clearml/task.py", line 3504, in _at_exit
self.__shutdown...
I am; it seems like maybe a couple of hours?
Also I appreciate the time youre taking to answer AgitatedDove14 and CostlyOstrich36 , I know Fridays are not working days in Israel, so thank you π
Okay this was a deep dive into clearml-agent code π
Took a long time to figure out that there was a specific Python version with a specific virtualenv that was old (Python 3.6.9 and Python 3.8 had latest virtualenv, but Python 3.7.5 had an old virtualenv).
Then the task requested to use Python 3.7, and that old virtualenv version was broken.
As a result -> Could the agent maybe also output the virtualenv version used with setting up the environment for the first time?
No, I have no running agents listening to that queue. It's as if it's retained in some memory somewhere and the server keeps creating it.
SmugDolphin23 we've been working with this for 2 weeks now, and it creates a lot of junk in our UI. Is there anyway to have better control over this?
SmugDolphin23 I think you can simply change not (type(deferred_init) == int and deferred_init == 0) to deferred_init is True ?
So some UI that shows the contents of users.get_all ?
Indeed. I'll open an issue, sure!
Hm, this didn't happen until now; I'd be happy to try again with a new version, but something with 1.4.0 broke our StorageManager, so we reverted to 1.3.2
There's no decorator, just e.g.
def helper(foo: Optional[Any] = None):
return foo
def step_one(...):
# stuff
Then the type hints are not removed from helper and the code immediately crashes when being run
But... Which queue does it listen to, and which type of instances will it use etc
Hey @<1523701070390366208:profile|CostlyOstrich36> , thanks for the reply!
Iβm familiar with the above repo, we have the ClearML Server and such deployed on K8s.
Whatβs lacking is documentation regarding the clearml-agent helm chart. What exactly does it offer, etc.
Weβre interested in e.g. using karpenter to scale our deployments per demand, effectively replacing the AWS autoscaler.
Opened a matching feature request issue for this -> https://github.com/allegroai/clearml/issues/418
I guess it depends on what you'd like to configure.
Since we let the user choose parents, component name, etc - we cannot use the decorators. We also infer required packages at runtime (the autodetection based on import statements fails with a non-trivial namespace) and need to set that to all components, so the decorators do not work for us.
You can use logger.report_scalar and pass a single value.