def __init__(self, inferenceType=None, proto=None):
assert inferenceType is not None and proto is None or (<EOL>inferenceType is None and proto is not None), (<EOL>"<STR_LIT>")<EOL>if proto is None:<EOL><INDENT>self._numPredictions = <NUM_LIT:0><EOL>self.__inferenceType =  inferenceType<EOL>self.__learningEnabled = True<EOL>self.__inferenceEnabled = True<EOL>self.__inferenceArgs = {}<EOL><DEDENT>else:<EOL><INDENT>self._numPredictions = proto.numPredictions<EOL>inferenceType = str(proto.inferenceType)<EOL>inferenceType = inferenceType[:<NUM_LIT:1>].upper() + inferenceType[<NUM_LIT:1>:]<EOL>self.__inferenceType = InferenceType.getValue(inferenceType)<EOL>self.__learningEnabled = proto.learningEnabled<EOL>self.__inferenceEnabled = proto.inferenceEnabled<EOL>self.__inferenceArgs = json.loads(proto.inferenceArgs)<EOL><DEDENT>
:param opf_utils.InferenceType inferenceType: mutually-exclusive with proto
                                              arg
:param proto: capnp ModelProto message reader for deserializing;
              mutually-exclusive with the other constructor args.