def __init__()

in python/dlr/dlr_model.py [0:0]


    def __init__(self, model_path, dev_type='cpu', dev_id=0, error_log_file=None, use_default_dlr=False):
        self.logger = create_logger(log_file=error_log_file)
        
        if not os.path.exists(model_path):
            raise ValueError("model_path %s doesn't exist" % model_path)
        for file_name in os.listdir(model_path):
            if file_name.endswith(".tensorrt"):
                raise Exception("This model requires DLR release-1.1.0 to run.")
        self.handle = c_void_p()
        device_table = {
            'cpu': 1,
            'gpu': 2,
            'opencl': 4,
        }
        self.model_path = model_path
        self.use_default_dlr = use_default_dlr
        self._lib = None
        self._init_libdlr()
        self._check_call(self._lib.CreateDLRModel(byref(self.handle),
                                        c_char_p(model_path.encode()),
                                        c_int(device_table[dev_type]),
                                        c_int(dev_id)))

        self.backend = self._parse_backend()
        self.version = self._get_version()

        self.num_inputs = self._get_num_inputs()
        self.num_weights = self._get_num_weights()
        self.input_names = []
        self.input_name_to_index = {}
        self.output_names = []
        self.weight_names = []
        self.input_shapes = {}   # Remember shape used in _set_input()
        self.input_dtypes = []
        self.output_dtypes = []
        
        for i in range(self.num_weights):
            self.weight_names.append(self._get_weight_name(i))

        self.num_outputs = self._get_num_outputs()
        if self.backend != "relayvm":
            self._lazy_init_output_shape()
        self._fetch_input_names()
        self._fetch_input_dtypes()
        self._fetch_output_dtypes()