예제 #1
0
# Codificação One Hot
lb = LabelBinarizer()
Y = lb.fit_transform(Y_without_encoded)

# Divisão de DataSets de Treino e Teste
(X_train, X_test, Y_train, Y_test) = train_test_split(X, Y, test_size=0.25, stratify=Y, random_state=1)

# -=== Trabalhar com Data Augmentation ===-
dataGenerator = ImageDataGenerator(rotation_range=20, zoom_range=0.15,
                        	width_shift_range=0.2, height_shift_range=0.2, shear_range=0.15,
                        	horizontal_flip=True, fill_mode="nearest")


# 2. Montagem da Rede Neural Convolucional

model = NeuralNetwork.build(32,len(lb.classes_))
model.compile(
            loss='categorical_crossentropy', # Verificar cada parametro.
            optimizer='adam',
            metrics=['accuracy']
)

# 3. Treinamento da Rede Neural

STEPS_PER_EPOCH = len(X_train) 
EPOCHS = 5
BATCH_SIZE=32

result = model.fit_generator(dataGenerator.flow(X_train,Y_train, batch_size=BATCH_SIZE),
                             validation_data=(X_test, Y_test), steps_per_epoch=STEPS_PER_EPOCH, epochs=EPOCHS)