I don't see why the dictionary is special
After removing the task.connect lines, it encountered another error related to 'einops' that is not recognized. It does exist on my environment file but was not installed by the agent (according to what I see on 'Summary - installed python packages'. should I add this manually?
Hi, I rerun now after minor updates. Get similar error in the same part of code-
Traceback (most recent call last):
File "main.py", line 84, in <module>
task.connect(config.model,name='model params')
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/task.py", line 1455, in connect
return method(mutable, name=name)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/task.py", line 3573, in _connect_dictionary
dictionary = nested_from_flat_dictionary(dictionary, flat_dict)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/utilities/proxy_object.py", line 216, in nested_from_flat_dictionary
org_dict = copy(a_dict)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/copy.py", line 92, in copy
rv = reductor(4)
KeyError: 'getstate'
What about the second issue I had regarding unrecognized package?
ClearML results page: None
Traceback (most recent call last):
File "main.py", line 85, in <module>
task.connect(config.hparas,name='hyper params')
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/task.py", line 1455, in connect
return method(mutable, name=name)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/task.py", line 3573, in _connect_dictionary
dictionary = nested_from_flat_dictionary(dictionary, flat_dict)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/site-packages/clearml/utilities/proxy_object.py", line 216, in nested_from_flat_dictionary
org_dict = copy(a_dict)
File "/home/rakefet/.clearml/venvs-builds/3.8/lib/python3.8/copy.py", line 92, in copy
rv = reductor(4)
KeyError: 'getstate'
I'm assuming your dictionary is made from non basic types (like object of a sort)
What do you have inside this dict?
Hi @<1571308003204796416:profile|HollowPeacock58> , do you have a self contained code snippet that reproduces this?
@<1571308003204796416:profile|HollowPeacock58> when do you mean by "debug mode"?
Ok..so I should generally avoid connecting complex objects? I guess I would create a 'mini dictionary' with a subset of params, and connectvthis instead.
In theory it should always work, but this specific one fails on a very pythonic paradigm (see below)
from copy import copy
an_object = copy(object)
A good rule of thumb is to connect any object/dict that you want to track or change later
Just to be clear, regarding the task.connect I have no solution. I can't keep these line commented out. Tnx in advance
Hi @<1571308003204796416:profile|HollowPeacock58>
could you share the full log ?
After removing the task.connect lines, it encountered another error related to 'einops' that is not recognized. It does exist on my environment file but was not installed by the agent (according to what I see on 'Summary - installed python packages'. should I add this manually?
Yes, I'm assuming this is a derivative package that is needed by one of your packages?
Task.add_requirements("einops")
task = Task.init(...)
from einops import rearrange, repeat
ModuleNotFoundError: No module named 'einops'
@<1571308003204796416:profile|HollowPeacock58> seems like an internal issue copying this object config.model
This is a complex object, and it seems that for some reason
None
As a workaround just do not connect this object. it seems you cannot pickle it / copy it (see GH issue)
Ok..so I should generally avoid connecting complex objects? I guess I would create a 'mini dictionary' with a subset of params, and connectvthis instead.
After removing the task.connect lines, it encountered another error related to 'einops' that is not recognized. It does exist on my environment file but was not installed by the agent (according to what I see on 'Summary - installed python packages'. should I add this manually?