Created
October 16, 2019 16:08
-
-
Save santhalakshminarayana/86a4a0475d2dbde0d7bd19cece167a90 to your computer and use it in GitHub Desktop.
Face recognition vgg face build
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Tensorflow version == 2.0.0 | |
import numpy as np | |
import tensorflow as tf | |
from tensorflow import keras | |
from tensorflow.keras.models import Sequential,Model | |
from tensorflow.keras.layers import ZeroPadding2D,Convolution2D,MaxPooling2D | |
from tensorflow.keras.layers import Dense,Dropout,Softmax,Flatten,Activation,BatchNormalization | |
from tensorflow.keras.preprocessing.image import load_img,img_to_array | |
from tensorflow.keras.applications.imagenet_utils import preprocess_input | |
import tensorflow.keras.backend as K | |
# Define VGG_FACE_MODEL architecture | |
model = Sequential() | |
model.add(ZeroPadding2D((1,1),input_shape=(224,224, 3))) | |
model.add(Convolution2D(64, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(64, (3, 3), activation='relu')) | |
model.add(MaxPooling2D((2,2), strides=(2,2))) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(128, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(128, (3, 3), activation='relu')) | |
model.add(MaxPooling2D((2,2), strides=(2,2))) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(256, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(256, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(256, (3, 3), activation='relu')) | |
model.add(MaxPooling2D((2,2), strides=(2,2))) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(MaxPooling2D((2,2), strides=(2,2))) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(ZeroPadding2D((1,1))) | |
model.add(Convolution2D(512, (3, 3), activation='relu')) | |
model.add(MaxPooling2D((2,2), strides=(2,2))) | |
model.add(Convolution2D(4096, (7, 7), activation='relu')) | |
model.add(Dropout(0.5)) | |
model.add(Convolution2D(4096, (1, 1), activation='relu')) | |
model.add(Dropout(0.5)) | |
model.add(Convolution2D(2622, (1, 1))) | |
model.add(Flatten()) | |
model.add(Activation('softmax')) | |
# Load VGG Face model weights | |
model.load_weights('vgg_face_weights.h5') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment