in shap_e/util/collections.py [0:0]
def __setitem__(self, key, value):
if "/" in key:
keys = key.split("/")
key, next_key = keys[0], "/".join(keys[1:])
if key not in self:
self[key] = AttrDict()
self[key].__setitem__(next_key, value)
return
if isinstance(value, dict) and not isinstance(value, AttrDict):
value = AttrDict(**value)
if isinstance(value, list):
value = [AttrDict(val) if isinstance(val, dict) else val for val in value]
super(AttrDict, self).__setitem__(key, value)