Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
import tensorflow as tf
|
2 |
-
from tensorflow.keras.models import load_model
|
3 |
|
|
|
4 |
def preprocess_image(filename, target_shape=(160, 160)):
|
5 |
image_string = tf.io.read_file(filename)
|
6 |
image = tf.image.decode_jpeg(image_string, channels=3)
|
@@ -8,9 +9,22 @@ def preprocess_image(filename, target_shape=(160, 160)):
|
|
8 |
image = tf.image.resize(image, target_shape)
|
9 |
return image
|
10 |
|
11 |
-
|
12 |
-
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
def generate_embedding(image_path, model):
|
15 |
preprocessed_image = preprocess_image(image_path)
|
16 |
preprocessed_image = tf.expand_dims(preprocessed_image, axis=0) # Add batch dimension
|
@@ -19,5 +33,5 @@ def generate_embedding(image_path, model):
|
|
19 |
|
20 |
# Example usage
|
21 |
image_path = 'iman.jpg' # Update with your image's path
|
22 |
-
image_embedding = generate_embedding(image_path,
|
23 |
-
print("Generated Embedding:", image_embedding.numpy())
|
|
|
1 |
import tensorflow as tf
|
2 |
+
from tensorflow.keras.models import load_model, Model
|
3 |
|
4 |
+
# Function to preprocess the image
|
5 |
def preprocess_image(filename, target_shape=(160, 160)):
|
6 |
image_string = tf.io.read_file(filename)
|
7 |
image = tf.image.decode_jpeg(image_string, channels=3)
|
|
|
9 |
image = tf.image.resize(image, target_shape)
|
10 |
return image
|
11 |
|
12 |
+
# Load the base FaceNet model
|
13 |
+
facenet_model = load_model('facenet_keras.h5', compile=False)
|
14 |
|
15 |
+
# Create the embedding model using the FaceNet model
|
16 |
+
embedding = Model(inputs=facenet_model.input,
|
17 |
+
outputs=facenet_model.layers[-2].output,
|
18 |
+
name="Embedding")
|
19 |
+
|
20 |
+
# Load the weights for your siamese or modified FaceNet model
|
21 |
+
embedding.load_weights('facenet_siamese_embedding.h5')
|
22 |
+
|
23 |
+
# Set all layers to non-trainable
|
24 |
+
for layer in embedding.layers:
|
25 |
+
layer.trainable = False
|
26 |
+
|
27 |
+
# Function to generate embedding
|
28 |
def generate_embedding(image_path, model):
|
29 |
preprocessed_image = preprocess_image(image_path)
|
30 |
preprocessed_image = tf.expand_dims(preprocessed_image, axis=0) # Add batch dimension
|
|
|
33 |
|
34 |
# Example usage
|
35 |
image_path = 'iman.jpg' # Update with your image's path
|
36 |
+
image_embedding = generate_embedding(image_path, embedding)
|
37 |
+
print("Generated Embedding:", image_embedding.numpy())
|