Example #1
0
def test_load_directory_data():

    invalid_directory_path = 'invalid_directory_path'
    valid_dummy_directory = resource_filename('EmoPy','tests/unittests/resources/dummy_data_directory')
    empty_dummy_directory = resource_filename('EmoPy','tests/unittests/resources/dummy_empty_data_directory')
    channels = 1

    # should raise error when receives an invalid directory path
    with pytest.raises(NotADirectoryError):
        DirectoryDataLoader(datapath=invalid_directory_path)

    # should raise error when tries to load empty directory
    data_loader = DirectoryDataLoader(datapath=empty_dummy_directory)
    with pytest.raises(AssertionError):
        data_loader.load_data()
from keras import backend as K

K.set_image_data_format("channels_last")

validation_split = 0.15
verbose = True
model_name = 'inception_v3'

target_dimensions = (128, 128)
target_dimensions2 = (490, 640)

#directory_path = r'C:\Users\localadmin\Desktop\final_proj\cohn-kanade-images2'
directory_path = r'D:\Degree\Final project\cohn-kanade-formated2'

data_loader = DirectoryDataLoader(datapath=directory_path,
                                  validation_split=validation_split,
                                  target_dimension=target_dimensions2,
                                  out_channels=3)
dataset = data_loader.load_data()

if verbose:
    dataset.print_data_details()

print('Creating training/testing data...')
train_images, train_labels = dataset.get_training_data()
train_gen = DataGenerator().fit(train_images, train_labels)
test_images, test_labels = dataset.get_test_data()
test_gen = DataGenerator().fit(test_images, test_labels)

print('Initializing neural network with InceptionV3 base model...')
model = TransferLearningNN(model_name=model_name,
                           emotion_map=dataset.get_emotion_index_map())
from EmoPy.src.directory_data_loader import DirectoryDataLoader
from EmoPy.src.data_generator import DataGenerator
from EmoPy.src.neuralnets import ConvolutionalNN

from pkg_resources import resource_filename,resource_exists

validation_split = 0.15

target_dimensions = (64, 64)
channels = 1
verbose = True

print('--------------- Convolutional Model -------------------')
print('Loading data...')
directory_path = resource_filename('EmoPy.examples','image_data/sample_image_directory')
data_loader = DirectoryDataLoader(datapath=directory_path, validation_split=validation_split)
dataset = data_loader.load_data()

if verbose:
    dataset.print_data_details()

print('Preparing training/testing data...')
train_images, train_labels = dataset.get_training_data()
train_gen = DataGenerator().fit(train_images, train_labels)
test_images, test_labels = dataset.get_test_data()
test_gen = DataGenerator().fit(test_images, test_labels)

print('Training net...')
model = ConvolutionalNN(target_dimensions, channels, dataset.get_emotion_index_map(), verbose=True)
model.fit_generator(train_gen.generate(target_dimensions, batch_size=5),
                    test_gen.generate(target_dimensions, batch_size=5),
Example #4
0
from pkg_resources import resource_filename
import numpy

validation_split = 0.25

target_dimensions = (128, 128)
target_dimensions2 = (490, 640)
channels = 1
verbose = True

print('--------------- Time-Delay Convolutional Model -------------------')
print('Loading data...')
directory_path = resource_filename('EmoPy.examples', "image_data/sample_image_series_directory")
directory_path = r'D:\Degree\Final project\cohn-kanade-formated'
data_loader = DirectoryDataLoader(datapath=directory_path,
                                  validation_split=validation_split,
                                  time_delay=10,
                                  target_dimension=target_dimensions2)
dataset = data_loader.load_data()

if verbose:
    dataset.print_data_details()

print('Preparing training/testing data...')
train_images, train_labels = dataset.get_training_data()
train_gen = DataGenerator(time_delay=dataset.get_time_delay()).fit(train_images, train_labels)
test_images, test_labels = dataset.get_test_data()
test_gen = DataGenerator(time_delay=dataset.get_time_delay()).fit(test_images, test_labels)

print('Training net...')
model = TimeDelayConvNN(target_dimensions, channels, emotion_map=dataset.get_emotion_index_map(), time_delay=dataset.get_time_delay())
model.fit_generator(train_gen.generate(target_dimensions, batch_size=10),