Skip to content

Commit

Permalink
tf requirement for deepface package
Browse files Browse the repository at this point in the history
  • Loading branch information
serengil committed Mar 9, 2024
1 parent cdb0fa0 commit 42e9119
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions deepface/basemodels/FbDeepFace.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
# --------------------------------
# dependency configuration

tf_version = package_utils.get_tf_major_version()
tf_major = package_utils.get_tf_major_version()
tf_minor = package_utils.get_tf_minor_version()

if tf_version == 1:
if tf_major == 1:
from keras.models import Model, Sequential
from keras.layers import (
Convolution2D,
LocallyConnected2D,
MaxPooling2D,
Flatten,
Dense,
Expand All @@ -28,7 +28,6 @@
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import (
Convolution2D,
LocallyConnected2D,
MaxPooling2D,
Flatten,
Dense,
Expand All @@ -44,13 +43,12 @@ class DeepFaceClient(FacialRecognition):
"""

def __init__(self):
major = package_utils.get_tf_major_version()
minor = package_utils.get_tf_minor_version()
if major == 2 and minor > 12:
# DeepFace requires tf 2.12 or less
if tf_major == 2 and tf_minor > 12:
# Ref: https://github.com/serengil/deepface/pull/1079
raise ValueError(
"DeepFace model requires LocallyConnected2D but it is no longer supported"
f" after tf 2.12 but you have {major}.{minor}. You need to downgrade your tf."
f" after tf 2.12 but you have {tf_major}.{tf_minor}. You need to downgrade your tf."
)

self.model = load_model()
Expand All @@ -77,6 +75,13 @@ def load_model(
"""
Construct DeepFace model, download its weights and load
"""
# we have some checks for this dependency in the init of client
# putting this in global causes library initialization
if tf_major == 1:
from keras.layers import LocallyConnected2D
else:
from tensorflow.keras.layers import LocallyConnected2D

base_model = Sequential()
base_model.add(
Convolution2D(32, (11, 11), activation="relu", name="C1", input_shape=(152, 152, 3))
Expand Down

0 comments on commit 42e9119

Please sign in to comment.