def _handle_bytes(o): for k, v in o.items(): if isinstance(v, bytes): o[k] = str(fou.deserialize_numpy_array(v).shape) if isinstance(v, dict): o[k] = _handle_bytes(v) return o
def convert(d): if isinstance(d, (dict, OrderedDict)): for k, v in d.items(): if k == "_eta_labels": continue if isinstance(v, ObjectId): d[k] = str(v) elif isinstance(v, (dict, OrderedDict, list)): convert(v) elif isinstance(v, bytes): d[k] = str(fou.deserialize_numpy_array(v).shape) if isinstance(d, list): for idx, i in enumerate(d): if isinstance(i, (dict, OrderedDict, list)): convert(i) elif isinstance(i, ObjectId): d[idx] = str(i) elif isinstance(i, bytes): d[idx] = str(fou.deserialize_numpy_array(i).shape)
def from_dict(cls, d, extended=False): kwargs = {} for k, v in d.items(): if isinstance(v, dict): if "_cls" in v: # Serialized embedded document _cls = getattr(fo, v["_cls"]) kwargs[k] = _cls.from_dict(v) elif "$binary" in v: # Serialized array in extended format binary = json_util.loads(json.dumps(v)) kwargs[k] = fou.deserialize_numpy_array(binary) else: kwargs[k] = v elif isinstance(v, six.binary_type): # Serialized array in non-extended format kwargs[k] = fou.deserialize_numpy_array(v) else: kwargs[k] = v return cls(**kwargs)
def to_python(self, value): if value is None or isinstance(value, np.ndarray): return value return fou.deserialize_numpy_array(value)
def _handle_numpy_array(raw, key=None): if key != "mask": return str(fou.deserialize_numpy_array(raw).shape) return fou.serialize_numpy_array( fou.deserialize_numpy_array(raw), ascii=True )