import tensorflow as tf

        with self._graph.as_default():
            self._sess = tf.Session(config=self._config)

            tf.saved_model.load(
                self._sess, [tag_constants.SERVING], self._model_path)

            self._image_tensor = self._sess.graph.get_tensor_by_name(
                'serving_default_input_1:0')
            self._output_tensor = self._sess.graph.get_tensor_by_name(
                'StatefulPartitionedCall:0')

            self._boxes = tf.placeholder(
                tf.float32, shape=(None, None, None, 4))
            self._scores = tf.placeholder(
                tf.float32, shape=(None, None, self._num_classes))

            self._boxes_predi, self._scores_predi, self._classes_predi,\
                self._valid_detections_predi = \
                tf.image.combined_non_max_suppression(
                    boxes=self._boxes, scores=self._scores,
                    max_output_size_per_class=50, max_total_size=50,
                    iou_threshold=0.45, score_threshold=self._score_threshold)

            self._label_map = self._load_labelmap(self._label_file)

    def _load_labelmap(self, label_file):
