tf 2 compatible

This commit is contained in:
serengil 2020-12-13 18:57:53 +03:00
parent 6b25272964
commit ada31621ac
12 changed files with 116 additions and 54 deletions

View File

@ -1,11 +1,12 @@
import os import os
from pathlib import Path from pathlib import Path
import gdown import gdown
import keras
from keras.models import Model
from keras.layers import Conv2D, Activation, Input, Add, MaxPooling2D, Flatten, Dense, Dropout
import zipfile import zipfile
from tensorflow import keras
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Conv2D, Activation, Input, Add, MaxPooling2D, Flatten, Dense, Dropout
#------------------------------------- #-------------------------------------
def loadModel(url = 'https://drive.google.com/uc?id=1uRLtBCTQQAvHJ_KVrdbRJiCKxU8m5q2J'): def loadModel(url = 'https://drive.google.com/uc?id=1uRLtBCTQQAvHJ_KVrdbRJiCKxU8m5q2J'):
@ -14,15 +15,15 @@ def loadModel(url = 'https://drive.google.com/uc?id=1uRLtBCTQQAvHJ_KVrdbRJiCKxU8
x = Conv2D(20, (4, 4), name='Conv1', activation='relu', input_shape=(55, 47, 3))(myInput) x = Conv2D(20, (4, 4), name='Conv1', activation='relu', input_shape=(55, 47, 3))(myInput)
x = MaxPooling2D(pool_size=2, strides=2, name='Pool1')(x) x = MaxPooling2D(pool_size=2, strides=2, name='Pool1')(x)
x = Dropout(rate=1, name='D1')(x) x = Dropout(rate=0.99, name='D1')(x)
x = Conv2D(40, (3, 3), name='Conv2', activation='relu')(x) x = Conv2D(40, (3, 3), name='Conv2', activation='relu')(x)
x = MaxPooling2D(pool_size=2, strides=2, name='Pool2')(x) x = MaxPooling2D(pool_size=2, strides=2, name='Pool2')(x)
x = Dropout(rate=1, name='D2')(x) x = Dropout(rate=0.99, name='D2')(x)
x = Conv2D(60, (3, 3), name='Conv3', activation='relu')(x) x = Conv2D(60, (3, 3), name='Conv3', activation='relu')(x)
x = MaxPooling2D(pool_size=2, strides=2, name='Pool3')(x) x = MaxPooling2D(pool_size=2, strides=2, name='Pool3')(x)
x = Dropout(rate=1, name='D3')(x) x = Dropout(rate=0.99, name='D3')(x)
x1 = Flatten()(x) x1 = Flatten()(x)
fc11 = Dense(160, name = 'fc11')(x1) fc11 = Dense(160, name = 'fc11')(x1)

View File

@ -3,19 +3,19 @@ from pathlib import Path
import gdown import gdown
from functools import partial from functools import partial
from keras.models import Model from tensorflow.keras.models import Model
from keras.layers import Activation from tensorflow.keras.layers import Activation
from keras.layers import BatchNormalization from tensorflow.keras.layers import BatchNormalization
from keras.layers import Concatenate from tensorflow.keras.layers import Concatenate
from keras.layers import Conv2D from tensorflow.keras.layers import Conv2D
from keras.layers import Dense from tensorflow.keras.layers import Dense
from keras.layers import Dropout from tensorflow.keras.layers import Dropout
from keras.layers import GlobalAveragePooling2D from tensorflow.keras.layers import GlobalAveragePooling2D
from keras.layers import Input from tensorflow.keras.layers import Input
from keras.layers import Lambda from tensorflow.keras.layers import Lambda
from keras.layers import MaxPooling2D from tensorflow.keras.layers import MaxPooling2D
from keras.layers import add from tensorflow.keras.layers import add
from keras import backend as K from tensorflow.keras import backend as K
def scaling(x, scale): def scaling(x, scale):
return x * scale return x * scale

View File

@ -1,11 +1,12 @@
import os import os
from pathlib import Path from pathlib import Path
import gdown import gdown
import keras
from keras.models import Model, Sequential
from keras.layers import Convolution2D, LocallyConnected2D, MaxPooling2D, Flatten, Dense, Dropout
import zipfile import zipfile
from tensorflow import keras
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Convolution2D, LocallyConnected2D, MaxPooling2D, Flatten, Dense, Dropout
#------------------------------------- #-------------------------------------
def loadModel(url = 'https://github.com/swghosh/DeepFace/releases/download/weights-vggface2-2d-aligned/VGGFace2_DeepFace_weights_val-0.9034.h5.zip'): def loadModel(url = 'https://github.com/swghosh/DeepFace/releases/download/weights-vggface2-2d-aligned/VGGFace2_DeepFace_weights_val-0.9034.h5.zip'):

View File

@ -3,15 +3,13 @@ from pathlib import Path
import gdown import gdown
import tensorflow as tf import tensorflow as tf
import keras from tensorflow import keras
from keras.models import Model, Sequential from tensorflow.keras.models import Model, Sequential
from keras.layers import Conv2D, ZeroPadding2D, Activation, Input, concatenate from tensorflow.keras.layers import Conv2D, ZeroPadding2D, Activation, Input, concatenate
from keras.layers.core import Dense, Activation, Lambda, Flatten from tensorflow.keras.layers import Dense, Activation, Lambda, Flatten, BatchNormalization
from keras.layers.pooling import MaxPooling2D, AveragePooling2D from tensorflow.keras.layers import MaxPooling2D, AveragePooling2D
from keras.layers.merge import Concatenate from tensorflow.keras.models import load_model
from keras.layers.normalization import BatchNormalization from tensorflow.keras import backend as K
from keras.models import load_model
from keras import backend as K
#--------------------------------------- #---------------------------------------

View File

@ -1,8 +1,16 @@
import os import os
from pathlib import Path from pathlib import Path
import gdown
import tensorflow as tf
if int(tf.__version__.split(".")[0]) == 1:
from keras.models import Model, Sequential from keras.models import Model, Sequential
from keras.layers import Input, Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dense, Dropout, Activation from keras.layers import Input, Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dense, Dropout, Activation
import gdown else:
from tensorflow import keras
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Input, Convolution2D, ZeroPadding2D, MaxPooling2D, Flatten, Dense, Dropout, Activation
#--------------------------------------- #---------------------------------------

View File

@ -1,9 +1,6 @@
import os import os
import numpy as np import numpy as np
import pandas as pd import pandas as pd
from keras.preprocessing.image import load_img, save_img, img_to_array
from keras.applications.imagenet_utils import preprocess_input
from keras.preprocessing import image
import cv2 import cv2
from pathlib import Path from pathlib import Path
import gdown import gdown
@ -14,12 +11,26 @@ import copy
import base64 import base64
import multiprocessing import multiprocessing
import subprocess import subprocess
import tensorflow as tf
import keras
import bz2 import bz2
from deepface.commons import distance from deepface.commons import distance
from mtcnn import MTCNN #0.1.0 from mtcnn import MTCNN #0.1.0
import tensorflow as tf
tf_version = int(tf.__version__.split(".")[0])
if tf_version == 1:
import keras
from keras.preprocessing.image import load_img, save_img, img_to_array
from keras.applications.imagenet_utils import preprocess_input
from keras.preprocessing import image
elif tf_version == 2:
from tensorflow import keras
from tensorflow.keras.preprocessing.image import load_img, save_img, img_to_array
from tensorflow.keras.applications.imagenet_utils import preprocess_input
from tensorflow.keras.preprocessing import image
#--------------------------------------------------
def initialize_input(img1_path, img2_path = None): def initialize_input(img1_path, img2_path = None):
if type(img1_path) == list: if type(img1_path) == list:

View File

@ -1,12 +1,20 @@
#from basemodels import VGGFace
from deepface.basemodels import VGGFace from deepface.basemodels import VGGFace
import os import os
from pathlib import Path from pathlib import Path
import gdown import gdown
import numpy as np import numpy as np
import tensorflow as tf
tf_version = int(tf.__version__.split(".")[0])
if tf_version == 1:
import keras
from keras.models import Model, Sequential from keras.models import Model, Sequential
from keras.layers import Convolution2D, Flatten, Activation from keras.layers import Convolution2D, Flatten, Activation
elif tf_version == 2:
from tensorflow import keras
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Convolution2D, Flatten, Activation
def loadModel(): def loadModel():

View File

@ -1,9 +1,19 @@
import os import os
import gdown import gdown
from pathlib import Path from pathlib import Path
import zipfile
import tensorflow as tf
tf_version = int(tf.__version__.split(".")[0])
if tf_version == 1:
import keras
from keras.models import Model, Sequential from keras.models import Model, Sequential
from keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, Flatten, Dense, Dropout from keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, Flatten, Dense, Dropout
import zipfile elif tf_version == 2:
from tensorflow import keras
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, Flatten, Dense, Dropout
def loadModel(): def loadModel():

View File

@ -1,12 +1,18 @@
#from basemodels import VGGFace
from deepface.basemodels import VGGFace from deepface.basemodels import VGGFace
import os import os
from pathlib import Path from pathlib import Path
import gdown import gdown
import numpy as np import numpy as np
import tensorflow as tf
tf_version = int(tf.__version__.split(".")[0])
if tf_version == 1:
from keras.models import Model, Sequential from keras.models import Model, Sequential
from keras.layers import Convolution2D, Flatten, Activation from keras.layers import Convolution2D, Flatten, Activation
elif tf_version == 2:
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Convolution2D, Flatten, Activation
def loadModel(): def loadModel():

View File

@ -1,13 +1,20 @@
#from basemodels import VGGFace
from deepface.basemodels import VGGFace from deepface.basemodels import VGGFace
import os import os
from pathlib import Path from pathlib import Path
import gdown import gdown
import numpy as np import numpy as np
import zipfile
import tensorflow as tf
tf_version = int(tf.__version__.split(".")[0])
if tf_version == 1:
from keras.models import Model, Sequential from keras.models import Model, Sequential
from keras.layers import Convolution2D, Flatten, Activation from keras.layers import Convolution2D, Flatten, Activation
import zipfile elif tf_version == 2:
from tensorflow.keras.models import Model, Sequential
from tensorflow.keras.layers import Convolution2D, Flatten, Activation
def loadModel(): def loadModel():

View File

@ -9,3 +9,4 @@ keras>=2.2.0
Flask>=1.1.2 Flask>=1.1.2
mtcnn>=0.1.0 mtcnn>=0.1.0
lightgbm>=2.3.1 lightgbm>=2.3.1
dlib>=19.20.0

View File

@ -1,10 +1,20 @@
import warnings
warnings.filterwarnings("ignore")
import os
#os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
from deepface import DeepFace from deepface import DeepFace
from deepface.commons import functions from deepface.commons import functions
import json import json
import time import time
import os import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
#-----------------------------------------
tf_version = int(tf.__version__.split(".")[0])
#----------------------------------------- #-----------------------------------------
@ -136,7 +146,8 @@ dataset = [
] ]
models = ['VGG-Face', 'Facenet', 'OpenFace', 'DeepFace', 'DeepID', 'Dlib'] models = ['VGG-Face', 'Facenet', 'OpenFace', 'DeepFace', 'DeepID', 'Dlib']
metrics = ['cosine', 'euclidean', 'euclidean_l2'] #metrics = ['cosine', 'euclidean', 'euclidean_l2']
metrics = ['cosine']
passed_tests = 0; test_cases = 0 passed_tests = 0; test_cases = 0