def build_optimizer(self, model): self._skip_gpu = False return build_yellowfin(model, base_learning_rate=0.1)
def build_optimizer(self, model): self._skip_gpu = False return build_yellowfin(model, base_learning_rate=0.1)
def Train_Model(): current_folder = os.path.join(os.path.expanduser('~'), 'Development', 'MLResearch', 'datasets', 'blood-cells') print(current_folder) data_folder = os.path.join(current_folder, 'dataset2-master') root_folder = current_folder db_missing = False if not os.path.exists(data_folder): os.makedirs(data_folder) print("Your data folder was not found!! This was generated: {}".format( data_folder)) # Look for existing database: lmdb if os.path.exists(os.path.join(data_folder, 'blood_cells_train_lmdb')): print("lmdb train db found!") else: db_missing = True if os.path.exists(os.path.join(data_folder, 'blood_cells_test_lmdb')): print("lmdb test db found!") else: db_missing = True arg_scope = { "order": "NCHW", "use_cudnn": False, } train_model = model_helper.ModelHelper(name="inceptionv4_train", arg_scope=arg_scope) reader = train_model.CreateDB( "reader", db=os.path.join(data_folder, 'blood_cells_train_lmdb'), db_type='lmdb', ) data, label = AddImageInput(train_model, reader, 64, 299, 'lmdb', False) softmax, loss = inceptionv4.create_Inceptionv4(train_model, data, 4, label) accuracy = train_model.Accuracy([softmax, label], "accuracy") train_model.AddGradientOperators(["loss"]) optimizer.build_yellowfin( train_model, base_learning_rate=.001, # allow_lr_injection= True, ) train_model.Print('accuracy', [], to_file=1) train_model.Print('loss', [], to_file=1) train_model.Print('label', [], to_file=1) train_model.Print('softmax', [], to_file=1) workspace.RunNetOnce(train_model.param_init_net) workspace.CreateNet(train_model.net, overwrite=True) # pyplot.figure() # d = workspace.FetchBlob('data') # # _ = visualize.NCHW.ShowMultiple(data) # pyplot.show() total_iters = 500 accuracy = np.zeros(total_iters) loss = np.zeros(total_iters) for i in range(total_iters): workspace.RunNet(train_model.net) accuracy[i] = workspace.blobs['accuracy'] loss[i] = workspace.blobs['loss'] pyplot.plot(loss, 'b') pyplot.plot(accuracy, 'r') pyplot.legend(('Loss', 'Accuracy'), loc='upper right')