else: # load with open(config_path, 'r') as f: config = json.load(f) # split img_gen_config = config['img_gen_config'] model_config = config['model_config'] train_config = config['train_config'] # warn warn_message = f'Using config from {config_path_rel}' warnings.warn(warn_message) # build img data generators train_generator, validation_generator, test_generator, class_names = build_set_generators( **img_gen_config) # define model cl = Classifier(img_gen_config=img_gen_config, model_config=model_config, input_shape=train_generator.x.shape[1:]) cl.class_names = class_names # cl.train(train_generator, validation_generator, train_config) cl.train(train_generator, validation_generator, train_config) # eval cl.evaluate(test_generator) # save cl.save()
from models import Classifier import pickle model_path = './models/model7.hd5' # load dataset with open('./datasets/80k_no_priorityroad_grey.pickle', 'rb') as f: (x_train, y_train), (x_val, y_val), (x_test, y_test) = pickle.load(f) if __name__ == '__main__': # make model model = Classifier() model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # train model model.fit(x_train, y_train, epochs=5, batch_size=32, validation_data=(x_val, y_val)) # test model model.evaluate(x_test, y_test) # save model model.save(model_path) print('MODEL SAVED')