Example #1
0
# -*- coding: utf-8 -*-

import argparse
import os
import six.moves.cPickle as pickle

from alexnet import forward
from util import empty_label, load_image, walk_dir

def predict_image(model, file_path):
    _, pred = forward(model, load_image(file_path), empty_label(), train=False)
    print '多分これかな?: %s' % (pred.data)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-m', '--model', type=str, help='pickle file', default='AlexNet_epoch_100.pickle')
    parser.add_argument('-d', '--data_dir', type=str, default='data')
    args = parser.parse_args()

    model = pickle.load(open(args.model, 'rb'))
    walk_dir(args.data_dir, lambda _, f: predict_image(model, f))
Example #2
0
from alexnet import forward, model
from util import load_image, num_to_label, walk_dir

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('-d', '--data_dir', type=str, default='data')
    parser.add_argument('-e', '--epoch', type=int, default=100)
    args = parser.parse_args()

    # init optimizer
    optimizer = optimizers.Adam()
    optimizer.setup(model)

    # load data
    data = []
    walk_dir(args.data_dir, lambda i, f: data.extend([(num_to_label(i), load_image(f))]))

    # learn
    for i in range(args.epoch):
        random.shuffle(data)

        t = 0
        pbar = ProgressBar(len(data))
        for (label, img) in data:

            optimizer.zero_grads()
            loss, acc = forward(model, img, label, train=True)
            loss.backward()
            optimizer.update()

            t += 1