Example #1
0
def training_model(model_name='mobilenet'):
    train_gen, valid_gen, tconfig = get_gen_tconfig()
    callbacks = get_callbacks('mobilenet05_short_adam03_dr35_v3', patience=4)
    if model_name == 'mobilenet':
        print('MobileNet')
        model = MobileNet(config=tconfig, alpha=1.0)
        model.summary()
    elif model_name == 'mobilenet_dih':
        print('MobileNetDih')
        model = MobileNetDih4(config=tconfig, alpha=1)
        model.summary()
    elif model_name == 'mobilenet_dih_r':
        print('MobileNetDihR')
        model = MobileNetDR(config=tconfig, alpha=0.5)
        model.summary()
    opt = Adam(lr=1e-3, beta_1=0.9, beta_2=0.999)
    #opt = Adadelta(lr=1e-1, rho=0.95, decay=0.1)
    #opt = SGD(lr=1e-7, momentum=0.9, decay=0., nesterov=True)

    model.compile(optimizer=opt, loss='mse', metrics=['mae', 'mse'])
    #model.load_weights('mobilenet_05shortd01_catcros_resize_b16.hdf5')
    model.fit_generator(generator=train_gen,
                        steps_per_epoch=1000,
                        epochs=40,
                        validation_data=valid_gen,
                        verbose=2,
                        validation_steps=500,
                        callbacks=callbacks)
    #opt = Adam(lr=1e-3, beta_1=0.9, beta_2=0.999)
    #opt = Adadelta(lr=1e-1, rho=0.95, decay=0.1)
    """
Example #2
0
def training_model(model_name='mobilenet'):
    train_img, valid_img, train_y, valid_y = get_data()
    callbacks = get_callbacks('mobilenet_10fulld01_b16', patience=2)
    if model_name == 'mobilenet':
        print('MobileNet')
        model = MobileNet(alpha=1.)
        model.summary()
    elif model_name == 'mobilenet_dih':
        print('MobileNetDih')
        model = MobileNetDih4(alpha=1.)
        model.summary()
    elif model_name == 'mobilenet_dih_r':
        print('MobileNetDihR')
        model = MobileNetDR(alpha=1.)
        model.summary()

    opt = Adam(lr=1e-3, beta_1=0.9, beta_2=0.999)
    #opt = Adadelta(lr=1e-1, rho=0.95, decay=0.1)
    #opt = SGD(lr=1e-7, momentum=0.9, decay=0., nesterov=True)

    model.compile(optimizer=opt,
                  loss='binary_crossentropy',
                  metrics=['accuracy'])
    #model.load_weights('mobilenet_05shortd01_catcros_resize_b16.hdf5')
    gen = ImageDataGenerator(rotation_range=359,
                             zoom_range=[0.5, 2],
                             width_shift_range=0.1,
                             height_shift_range=0.1,
                             vertical_flip=True,
                             horizontal_flip=True)

    model.fit_generator(
        gen.flow(np.array(train_img), np.array(train_y),
                 batch_size=BATCH_SIZE),
        steps_per_epoch=16 * len(train_y) // BATCH_SIZE,
        epochs=40,
        validation_data=[np.array(valid_img),
                         np.array(valid_y)],
        verbose=1,
        callbacks=callbacks)
    #    """
    #opt = Adam(lr=1e-3, beta_1=0.9, beta_2=0.999)
    #opt = Adadelta(lr=1e-1, rho=0.95, decay=0.1)
    opt = SGD(lr=0.05, momentum=0.9, decay=0., nesterov=True)
    model.load_weights('mobilenet_10shortd01_b16_sgd')
    model.fit_generator(
        gen.flow(np.array(train_img), np.array(train_y),
                 batch_size=BATCH_SIZE),
        steps_per_epoch=16 * len(train_y) // BATCH_SIZE,
        epochs=10,
        validation_data=[np.array(valid_img),
                         np.array(valid_y)],
        verbose=1,
        callbacks=callbacks)
Example #3
0
def train():
    tr_config = {
        'flag': True,
        'rg': 25,  # 7, 5
        'wrg': 0.25,  # 1, 3
        'hrg': 0.25,  # 1, 3
        'zoom': 0.25  # 1, 1
    }
    callbacks = get_callbacks('mynet_v4_bias', patience=30)

    paths, y = search_file('set1/segmented_set1')
    paths, y = search_file('set2/segmented_set2', paths=paths, y=y)

    ds = DataSet(nframe=30,
                 fstride=6,
                 name='UT interaction',
                 size=[224, 224, 3],
                 filepaths=paths,
                 y=y,
                 kernel_size=4)
    ds.make_set(op='msqr', name='train')
    ds.make_set(op='msqr', name='valid')

    #opt = Adam(lr=1e-4, beta_1=0.9, beta_2=0.999, decay=0.1)
    #opt = SGD(lr=2*1e-1, momentum=0.9, nesterov=True, decay=0.2)
    opt = RMSprop(lr=0.001, rho=0.9, decay=0.01)

    model = MobileNet(alpha=1.0, shape=[29, 56, 56, 1], nframe=29)
    model.compile(optimizer=opt,
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])
    model.summary()

    #model.load_weights('mynet_v4.h5')
    model.fit_generator(generator=ds.train_gen(batch_size=5,
                                               aug_config=tr_config),
                        steps_per_epoch=100,
                        epochs=300,
                        validation_data=ds.valid_gen(),
                        verbose=1,
                        validation_steps=ds.getVlen,
                        callbacks=callbacks)
Example #4
0
#                神兽保佑
#                BUG是不可能有BUG的!
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

from mobilenet import MobileNet
import numpy as np
np.random.seed(10)
from keras.datasets import cifar10
from keras.utils import np_utils

(x_img_train, y_label_train),(x_img_test, y_label_test) = cifar10.load_data()

x_img_train = x_img_train.astype('float')/255.0
x_img_test = x_img_test.astype('float')/255.0

y_label_train = np_utils.to_categorical(y_label_train)
y_label_test = np_utils.to_categorical(y_label_test)

model = MobileNet()
try:
    model.load_weights("mobileV1-lite.h5")
    print("模型加载成功!继续训练")
except:
    print("模型加载失败!从头开始训练")

model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
train_history = model.fit(x_img_train, y_label_train, validation_split=0.2, epochs=10, batch_size=128, verbose=2)
model.save_weights("mobileV1-lite.h5")
print("保存模型成功!")
Example #5
0
import matplotlib.patches

np.set_printoptions(precision=2)

os.chdir("./handwritten_digit_recognition/")
# from wide_resnet_28_10 import WideResNet28_10
from mobilenet import MobileNet
from utils import load_mnist
os.chdir("../")

PATH = './handwritten_digit_recognition/models/'
#model_name = "WideResNet28_10"
#model=WideResNet28_10()
model_name = "MobileNet"
model = MobileNet()
model.compile()

model2 = MobileNet()
model2.compile()

print('Loading pretrained weights for ', model_name, '...', sep='')
model.load_weights(PATH + model_name + "_ajustado_1" + '.h5')
model2.load_weights(PATH + model_name + '.h5')


def mesaImagen(mesa, boleta=1):
    fname = 'actas/{0:06d}'.format(mesa * 10 + boleta) + '.jpg'
    data_name = "mesas_rv/" + '{}'.format(mesa) + '.json'
    path = "./"
    out_path = './results/'