def load_config(config_path): trn_opt_data = json.load(open(opt_path)) trn_opt = OptConfig() trn_opt.load(trn_opt_data) load_dim(trn_opt) trn_opt.gpu_ids = opt.gpu_ids trn_opt.dataroot = 'dataset/wild' trn_opt.serial_batches = True if not hasattr(trn_opt, 'normalize'): # previous model has no attribute normalize setattr(trn_opt, 'normalize', False) if not hasattr(trn_opt, 'loss_type'): setattr(trn_opt, 'loss_type', 'mse') return trn_opt
def load_from_opt_record(file_path): opt_content = json.load(open(file_path, 'r')) opt = OptConfig() opt.load(opt_content) return opt
if __name__ == '__main__': # opt = TrainOptions().parse() # get training options # opt.isTrain = False # set isTrain = False model_name = 'ef_AVL_Adnn512,256,128_Vlstm128_maxpool_Lcnn128_fusion256,128run{}' total_val = [] total_tst = [] for cv in range(1, 11): models = [] for run_idx in range(1, 5): cur_model_name = model_name.format(run_idx) opt_info = json.load( open( 'checkpoints/ef_AVL_Adnn512,256,128_Vlstm128_maxpool_Lcnn128_fusion256,128run1/train_opt.conf' )) opt = OptConfig() opt.load(opt_info) opt.isTrain = False opt.gpu_ids = [0] opt.cvNo = cv model = create_model( opt) # create a model given opt.model and other options model.setup( opt ) # regular setup: load and print networks; create schedulers model.load_networks_cv('checkpoints/{}/{}'.format( cur_model_name, cv)) model.cuda() model.eval() models.append(model)