def recognize(self, image, input_image_size=160, mobilenet=False):

        images_placeholder = self.recognition_graph.get_tensor_by_name(
            "input:0")
        embeddings = self.recognition_graph.get_tensor_by_name("embeddings:0")
        if not mobilenet:
            phase_train_placeholder = self.recognition_graph.get_tensor_by_name(
                "phase_train:0")
        embedding_size = embeddings.get_shape()[1]

        emb_array = np.zeros((1, embedding_size))
        image = facenet.prewhiten(image)
        image = cv2.resize(image, (input_image_size, input_image_size),
                           interpolation=cv2.INTER_AREA)
        image = image.reshape(-1, input_image_size, input_image_size, 3)

        if not mobilenet:
            feed_dict = {
                images_placeholder: image,
                phase_train_placeholder: False
            }
        else:
            feed_dict = {images_placeholder: image}
        emb_array[0, :] = self.sess.run(embeddings, feed_dict=feed_dict)
        return emb_array.squeeze()
tf.Graph().as_default()
sess = tf.Session()

facenet.load_model(modeldir)
images_placeholder = tf.get_default_graph().get_tensor_by_name("input:0")
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
phase_train_placeholder = tf.get_default_graph().get_tensor_by_name("phase_train:0")
embedding_size = embeddings.get_shape()[1]

print('facenet embedding')

scaled_reshape = []

image1 = scipy.misc.imread(image_name1, mode='RGB')
image1 = cv2.resize(image1, (image_size, image_size), interpolation=cv2.INTER_CUBIC)
image1 = facenet.prewhiten(image1)
scaled_reshape.append(image1.reshape(-1,image_size,image_size,3))
emb_array1 = np.zeros((1, embedding_size))
emb_array1[0, :] = sess.run(embeddings, feed_dict={images_placeholder: scaled_reshape[0], phase_train_placeholder: False })[0]


image2 = scipy.misc.imread(image_name2, mode='RGB')
image2 = cv2.resize(image2, (image_size, image_size), interpolation=cv2.INTER_CUBIC)
image2 = facenet.prewhiten(image2)
scaled_reshape.append(image2.reshape(-1,image_size,image_size,3))
emb_array2 = np.zeros((1, embedding_size))
emb_array2[0, :] = sess.run(embeddings, feed_dict={images_placeholder: scaled_reshape[1], phase_train_placeholder: False })[0]


image3 = scipy.misc.imread(image_name3, mode='RGB')
image3 = cv2.resize(image3, (image_size, image_size), interpolation=cv2.INTER_CUBIC)