예제 #1
0
model.add(MaxPooling2D(pool_size=(3, 3)))

model.add(Conv2D(kernel_size=(3, 3), filters=64, activation='tanh'))
model.add(MaxPooling2D(pool_size=(3, 3)))

model.add(Dropout(0.2))
model.add(Flatten())

model.add(Dense(100, activation='tanh'))
model.add(Dense(64, activation='tanh'))
model.add(Dense(16, activation='tanh'))

model.add(Dense(consts.classes, activation=consts.activation))

optimizer = SGD(lr=consts.lr, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(optimizer, loss=consts.loss)

## training the model
model.fit(x_train,
          y_train,
          epochs=consts.epochs,
          shuffle=True,
          validation_data=(x_test, y_test))

prediction = Data.FromOneHot(model.predict(x_test))
correct = Data.FromOneHot(y_test)

acc = str((numpy.sum(prediction == correct) / len(list(y_test))) * 100)
print('Acc :' + acc + '%')

model.save('trashnet.h5')
예제 #2
0
def predict():
    if PATH.get() is not None:
        input = Data.make_read_for_input(PATH.get())
        prediction = Data.FromOneHot(model.predict(input))[0]
        CATIGORY.set('prediction is : ' + consts.CAT[prediction])