コード例 #1
0
from simplepreprocessor import SimplePreprocessor
from meanpreprocessor import MeanPreprocessor
from ranked import rank5_accuracy
from hdf5datasetgenerator import HDF5DatasetGenerator
from keras.models import load_model
import json

means = json.loads(open(config.DATASET_MEAN).read())

sp = SimplePreprocessor(64, 64)
mp = MeanPreprocessor(means["R"], means["G"], means["B"])
iap = ImageToArrayPreprocessor()

testGen = HDF5DatasetGenerator(config.TRAIN_HDF5,
                               64,
                               preprocessors=[sp, mp, iap],
                               classes=config.NUM_CLASSES)

print("[INFO] loading model...")
model = load_model(config.MODEL_PATH)

print("[INFO] predictiong on test data...")
preds = model.predict_generator(testGen.generator(),
                                steps=testGen.numImages // 64,
                                max_queue_size=64 * 2)

(rank_1, rank_5) = rank5_accuracy(preds, testGen.db["labels"])
print("[INFO] rank-1:{:.2f}".format(rank_1 * 100))
print("[INFO] rank-5:{:.2f}".format(rank_5 * 100))

testGen.close()
コード例 #2
0
from ranked import rank5_accuracy
import argparse
import pickle
import h5py

ap = argparse.ArgumentParser()
ap.add_argument("-d", "--db", required=True, help="path HDF5 database")
ap.add_argument("-m", "--model", required=True, help="path to pre-trained model")
args = vars(ap.parse_args())

print("[INFO] loading pre-trained model...")
model = pickle.loads(open(args["model"], "rb").read())

db = h5py.File(args["db"], "r")
i = int(db["labels"].shape[0] * 0.75)

print("[INFO] predicting...")
preds = model.predict_proba(db["feature"][i:])
(rank1, rank5) = rank5_accuracy(preds, db["labels"][i:])

print("[INFO] rank-1:{:.2f}%".format(rank1 * 100))
print("[INFO] rank-5:{:.2f}%".format(rank5 * 100))
db.close()
コード例 #3
0
ファイル: ranked_accuracy.py プロジェクト: zlyin/Orca
                    required=True,
                    help="path to HDF5 database")
parser.add_argument("-m",
                    "--model",
                    required=True,
                    help="path to pretrained model")
args = vars(parser.parse_args())

## load pre-trained model
print("[INFO] loading pre-trained model...")
with open(args["model"], "rb") as f:
    model = pickle.loads(f.read())
f.close()

## open HDF5 file to retrieve features
print("[INFO] loading extracted features...")
db = h5py.File(args["database"], "r")
index = int(db["labels"].shape[0] * 0.75)
"""
use pre-trained model to predict Probs!
output rank1 & rank5 accuracy;
"""
print("[INFO] predicting...")
preds = model.predict_proba(db["features"][index:])
rank1_acc, rank5_acc = rank5_accuracy(preds, db["labels"][index:])
print("[INFO] rank-1 acc = {:.2f}%".format(rank1_acc * 100))
print("[INFO] rank-5 acc = {:.2f}%".format(rank5_acc * 100))

## close database!
db.close()
コード例 #4
0
cp = CropPreprocessor(227, 227)
iap = ImageToArrayPreprocessor()

print("[INFO] loading model...")
model = load_model(config.MODEL_PATH)

print("[INFO] predicting on test data(no crop)...")
testGen = HDF5DatasetGenerator(config.TEST_HDF5,
                               64,
                               preprocessors=[sp, mp, iap],
                               classes=2)
predictions = model.predict_generator(testGen.generator(),
                                      steps=testGen.numImages // 64,
                                      max_queue_size=64 * 2)

(rank_1, _) = rank5_accuracy(predictions, testGen.db["labels"])
print("[INFO] rank-1:{:.2f}%".format(rank_1 * 100))
testGen.close()

testGen = HDF5DatasetGenerator(config.TEST_HDF5,
                               64,
                               preprocessors=[mp],
                               classes=2)
predictions = []

widgets = [
    "Evaluating:",
    progressbar.Percentage(), " ",
    progressbar.Bar(), " ",
    progressbar.ETA()
]