Пример #1
0
from YouTubeFacesDB import YouTubeFacesDB

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.optimizers import SGD, Adam, RMSprop, Adagrad, Adadelta
from keras.regularizers import l2, activity_l2
from keras.utils import np_utils

###############################################################################
# Load the data from disk
###############################################################################
tstart = time()

db = YouTubeFacesDB('ytfdb.h5', mean_removal=True, output_type='vector')
N = db.nb_samples
d = db.input_dim
C = db.nb_classes
mean_face = db.mean

print(N, 'images of size', d, 'loaded in', time() - tstart)

###############################################################################
# Split into a training set and a test set
###############################################################################
db.split_dataset(validation_size=0.25)

###############################################################################
# Train a not very deep network
###############################################################################
Пример #2
0
from YouTubeFacesDB import YouTubeFacesDB

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.optimizers import SGD, Adam, RMSprop, Adagrad, Adadelta
from keras.regularizers import l2, activity_l2
from keras.utils import np_utils


###############################################################################
# Load the data from disk
###############################################################################
tstart = time()

db = YouTubeFacesDB('ytfdb.h5', mean_removal=True, output_type='vector')
N = db.nb_samples
d = db.input_dim
C = db.nb_classes
mean_face = db.mean

print(N, 'images of size', d, 'loaded in', time()-tstart)

###############################################################################
# Split into a training set and a test set 
###############################################################################
db.split_dataset(validation_size=0.25)

###############################################################################
# Train a not very deep network
###############################################################################
Пример #3
0
from YouTubeFacesDB import YouTubeFacesDB

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.optimizers import SGD, Adam, RMSprop, Adagrad, Adadelta
from keras.regularizers import l2, activity_l2
from keras.utils import np_utils


###############################################################################
# Load the data from disk
###############################################################################
tstart = time()

db = YouTubeFacesDB('ytfdb.h5', mean_removal=True, output_type='vector')
N = db.nb_samples
d = db.input_dim
C = db.nb_classes

print(N, 'images of size', d, 'loaded in', time()-tstart)

###############################################################################
# Split into a training set and a test set 
###############################################################################
db.split_dataset(validation_size=0.25)
X_train, y_train = db.get('train')
X_test, y_test = db.get('val')

###############################################################################
# Train a not very deep network
Пример #4
0
from YouTubeFacesDB.vgg import vgg16
import numpy as np
import torch.cuda
import torch
import torch.nn as nn
import torch.optim as optim
from torch.autograd import Variable
from pathlib2 import Path
import os

# Read the script directory, will come in handy later!
script_dir = os.path.dirname(__file__)

# Read the database file
# db = YouTubeFacesDB('/home/ritvik/dl4cv/ytfdb.h5')
db = YouTubeFacesDB(os.path.join(script_dir, "ytfdb.h5"))
# db = YouTubeFacesDB('/home/ritvik/testdata.h5')
db.split_dataset(validation_size=0.2, test_size=0.1)

testAcc = []
testLogs = open("testRecognizerLogs.txt", "a")

# Check if a previously saved model exists
myNetwork = Path("recognizer.pt")
if myNetwork.is_file():
    print("Saved model exists...!!!")
    network = torch.load("recognizer.pt")
    if torch.cuda.is_available():
        network.cuda()
    #########################################
    ############TEST THE MODEL###############