コード例 #1
0
    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,
            )
コード例 #2
0
    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