def train(model, batch_size, max_nb_cha, nb_epoch, save_dir, train_data, val_data): print 'X_train shape:', X_train.shape print X_train.shape[0], 'train samples' if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.2f}.hdf5' check_pointer = ModelCheckpoint(save_path, save_best_only=True) # history = model.fit(train_data, batch_size=batch_size, nb_epoch=nb_epoch, # validation_data=val_data, # validation_split=0.01, # callbacks=[check_pointer]) history = model.fit( train_data['input'], train_data['output1'], batch_size=batch_size, nb_epoch=nb_epoch, validation_data=(val_data['input'], val_data['output1']), # validation_split=0.1, callbacks=[check_pointer]) plot_loss_figure( history, save_dir + str(datetime.now()).split('.')[0].split()[1] + '.jpg') print 'Training time(h):', (time.time() - start_time) / 3600
def train(model, batch_size, nb_epoch, save_dir, train_data, val_data, char_set): X_train, y_train = train_data[0], train_data[1] sample_weight = get_sample_weight(y_train, char_set) print 'X_train shape:', X_train.shape print X_train.shape[0], 'train samples' if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.2f}.hdf5' check_pointer = ModelCheckpoint(save_path, save_best_only=True) history = model.fit(X_train, y_train, batch_size=batch_size, nb_epoch=nb_epoch, validation_data=val_data, validation_split=0.1, callbacks=[check_pointer], sample_weight=sample_weight) plot_loss_figure( history, save_dir + str(datetime.now()).split('.')[0].split()[1] + '.jpg') print 'Training time(h):', (time.time() - start_time) / 3600
def train(model, batch_size, nb_epoch, save_dir, train_X, train_y, val_data): print('train_X shape:', train_X.shape) print(train_X.shape[0], 'train samples') if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.3f}.h5' check_pointer = ModelCheckpoint(save_path, save_best_only=True) history = model.fit(train_X, train_y, batch_size=batch_size, nb_epoch=nb_epoch, validation_data=val_data, validation_split=0.1, callbacks=[check_pointer], ) #model.save(save_path) plot_loss_figure(history, save_dir + str(datetime.now()).split('.')[0].split()[1]+'.png') print('Training time(h):', (time.time()-start_time) / 3600)
def train_on_generator(model, batch_size, max_nb_cha, nb_epoch, save_dir, generator, val_data): print 'Train using generator' if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.2f}.hdf5' check_pointer = ModelCheckpoint(save_path) samples_per_epoch = 50000 # 每个epoch跑多少数据 history = model.fit_generator(generator, samples_per_epoch=samples_per_epoch, nb_epoch=nb_epoch, nb_worker=4, validation_data=val_data, callbacks=[check_pointer]) plot_loss_figure( history, save_dir + str(datetime.now()).split('.')[0].split()[1] + '.jpg') print 'Training time(h):', (time.time() - start_time) / 3600
def train(model, batch_size, nb_epoch, save_dir, train_data, val_data, char_set): X_train, y_train = train_data[0], train_data[1] sample_weight = get_sample_weight(y_train, char_set) print 'X_train shape:', X_train.shape print X_train.shape[0], 'train samples' if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.2f}.hdf5' check_pointer = ModelCheckpoint(save_path, save_best_only=True) history = model.fit(X_train, y_train, batch_size=batch_size, nb_epoch=nb_epoch, validation_data=val_data, validation_split=0.1, callbacks=[check_pointer], sample_weight=sample_weight ) plot_loss_figure(history, save_dir + str(datetime.now()).split('.')[0].split()[1]+'.jpg') print 'Training time(h):', (time.time()-start_time) / 3600
def train(model, batch_size, nb_epoch, save_dir, train_data, val_data, char_set): #pdb.set_trace() X_train, y_train = train_data[0], train_data[1] print('X_train shape:', X_train.shape) print(X_train.shape[0], 'train samples') if os.path.exists(save_dir) == False: os.mkdir(save_dir) start_time = time.time() save_path = save_dir + 'weights.{epoch:02d}-{val_loss:.2f}.hdf5' check_pointer = ModelCheckpoint(save_path, save_best_only=True) hist = model.fit(X_train, y_train, batch_size=batch_size, nb_epoch=nb_epoch, validation_data=val_data, validation_split=0.1, callbacks=[check_pointer], sample_weight=None) #返回记录字典,包括每一次迭代的训练误差率和验证误差率 plot_loss_figure( hist, save_dir + str(datetime.now()).split('.')[0].split()[1] + '.png') print('Training time(h):', (time.time() - start_time) / 3600)