Пример #1
0
predictions = Dense(5, activation="softmax", name="dl1preds")(fc1)

model = Model(input=[imgvecs], output=[predictions])

model.compile(optimizer="adadelta", loss="categorical_crossentropy",
              metrics=["accuracy"])

best_model = os.path.join(MODEL_DIR, "tl-dl1-model-best.h5")
checkpoint = ModelCheckpoint(filepath=best_model, verbose=1, 
                             save_best_only=True)
history = model.fit([Xtrain], [Ytrain], nb_epoch=NUM_EPOCHS, 
                    batch_size=BATCH_SIZE, validation_split=0.1, 
                    callbacks=[checkpoint])
fttlutils.plot_loss(history)

# evaluate final model
Ytest_ = model.predict(Xtest)
ytest = np_utils.categorical_probas_to_classes(Ytest)
ytest_ = np_utils.categorical_probas_to_classes(Ytest_)
fttlutils.print_stats(ytest, ytest_, "Final Model (DL#1)")
model.save(os.path.join(MODEL_DIR, "tl-dl1-model-final.h5"))

# load best model and evaluate
model = load_model(os.path.join(MODEL_DIR, "tl-dl1-model-best.h5"))
model.compile(optimizer="adadelta", loss="categorical_crossentropy",
              metrics=["accuracy"])
Ytest_ = model.predict(Xtest)
ytest = np_utils.categorical_probas_to_classes(Ytest)
ytest_ = np_utils.categorical_probas_to_classes(Ytest_)
fttlutils.print_stats(ytest, ytest_, "Best Model (DL#1)")
Пример #2
0
import numpy as np
import os

import fttlutils

##################### main ######################

DATA_DIR = "../data/files"
MODEL_DIR = os.path.join(DATA_DIR, "models")

# data
X = np.loadtxt(os.path.join(DATA_DIR, "images-X.txt"), delimiter=",")
y = np.loadtxt(os.path.join(DATA_DIR, "images-y.txt"),
               delimiter=",",
               dtype=np.int)

Xtrain, Xtest, ytrain, ytest = fttlutils.train_test_split(X,
                                                          y,
                                                          test_size=0.3,
                                                          random_state=42)
print(Xtrain.shape, Xtest.shape, ytrain.shape, ytest.shape)

# model
clf = LogisticRegression()
clf.fit(Xtrain, ytrain)

ytest_ = clf.predict(Xtest)
fttlutils.print_stats(ytest, ytest_, "LR Model")
with open(os.path.join(MODEL_DIR, "lr-model.pkl"), "wb") as fmodel:
    pickle.dump(clf, fmodel)