def deserialize( cls, path: Path, ctx: Optional[mx.Context] = None) -> "RepresentableBlockPredictor": ctx = ctx if ctx is not None else get_mxnet_context() with mx.Context(ctx): # deserialize constructor parameters with (path / "parameters.json").open("r") as fp: parameters = load_json(fp.read()) # deserialize transformation chain with (path / "input_transform.json").open("r") as fp: transform = load_json(fp.read()) # deserialize prediction network prediction_net = import_repr_block(path, "prediction_net") # input_names is derived from the prediction_net if "input_names" in parameters: del parameters["input_names"] parameters["ctx"] = ctx return RepresentableBlockPredictor( input_transform=transform, prediction_net=prediction_net, **parameters, )
def deserialize(cls, path: Path): try: # deserialize constructor parameters with (path / 'parameters.json').open('r') as fp: parameters = load_json(fp.read()) # deserialize transformation chain with (path / 'input_transform.json').open('r') as fp: transform = load_json(fp.read()) # deserialize prediction network prediction_net = import_repr_block(path, 'prediction_net') # input_names is derived from the prediction_net if 'input_names' in parameters: del parameters['input_names'] return RepresentableBlockPredictor( input_transform=transform, prediction_net=prediction_net, **parameters, ) except Exception as e: raise IOError(f'Cannot deserialize {fqname_for(cls)}') from e