def main(_): avalialbe_cpu, available_gpu, available_cpu_num, available_gpu_num = get_available_gpus( ) forward_backward_device = list() if available_gpu_num == 0: print( "No available GPU found!!! The calculation will be performed with CPU only." ) args.device_mode = 0 parameter_update_device = avalialbe_cpu[0] forward_backward_device.append(avalialbe_cpu[0]) # parameter_update_device = available_gpu[0] # forward_backward_device.append(available_gpu[0]) forward_backward_device_list = list() forward_backward_device_list.extend(forward_backward_device) print("Available devices for forward && backward:") for device in forward_backward_device_list: print(device) print("Available devices for parameter update:%s" % parameter_update_device) model_for_train = UNet( training_mode=args.training_mode, base_trained_model_dir=args.base_trained_model_dir, infer_obj_name=args.infer_name, infer_copy_num=args.infer_copy_num, ebdd_dictionary_dim=args.ebdd_dictionary_dim, base_training_font_num=args.base_training_font_num, parameter_update_device=parameter_update_device, forward_backward_device=forward_backward_device_list) if os.path.exists(args.inferred_result_saving_path): shutil.rmtree(args.inferred_result_saving_path) os.makedirs(args.inferred_result_saving_path) model_for_train.infer_procedures( inferred_result_saving_path=args.inferred_result_saving_path, base_trained_model_dir=args.base_trained_model_dir, freeze_ebdd_weights=0, freeze_encoder=0, freeze_decoder=0)
def main(_): avalialbe_cpu, available_gpu, available_cpu_num, available_gpu_num = get_available_gpus( ) forward_backward_device = list() if available_gpu_num == 0: print( "No available GPU found!!! The calculation will be performed with CPU only." ) args.device_mode = 0 # parameter_update_device = avalialbe_cpu[0] # forward_backward_device.append(avalialbe_cpu[0]) parameter_update_device = available_gpu[0] forward_backward_device.append(available_gpu[0]) forward_backward_device_list = list() forward_backward_device_list.extend(forward_backward_device) print("Available devices for forward && backward:") for device in forward_backward_device_list: print(device) print("Available devices for parameter update:%s" % parameter_update_device) model_for_train = UNet( training_mode=args.training_mode, base_trained_model_dir=args.base_trained_model_dir, infer_obj_name=args.infer_name, infer_copy_num=args.infer_copy_num, ebdd_dictionary_dim=args.ebdd_dictionary_dim, base_training_font_num=args.base_training_font_num, parameter_update_device=parameter_update_device, forward_backward_device=forward_backward_device_list) base_models = listdir(args.base_trained_model_dir) for traveller in base_models: if not traveller.find('DS') == -1: base_models.remove(traveller) base_models_with_path = list() for ii in range(len(base_models)): base_models_with_path.append( os.path.join(args.base_trained_model_dir, base_models[ii])) print("Found Model No:%d named %s" % (ii, base_models[ii])) for ii in range(len(base_models_with_path)): current_inferred_result_saving_path = os.path.join( args.inferred_result_saving_path, base_models[ii]) not_freeze_encoder = current_inferred_result_saving_path.find( 'encoder_not_freeze') not_freeze_decoder = current_inferred_result_saving_path.find( 'decoder_not_freeze') if args.training_mode == 0: freeze_ebdd_weights = 1 freeze_encoder = 0 freeze_decoder = 0 else: freeze_ebdd_weights = 0 if not not_freeze_encoder == -1: freeze_encoder = 1 else: freeze_encoder = 0 if not not_freeze_decoder == -1: freeze_decoder = 1 else: freeze_decoder = 0 if os.path.exists(current_inferred_result_saving_path): shutil.rmtree(current_inferred_result_saving_path) os.makedirs(current_inferred_result_saving_path) print("New inferred dir created for %s." % (current_inferred_result_saving_path)) model_for_train.infer_procedures( inferred_result_saving_path=current_inferred_result_saving_path, base_trained_model_dir=base_models_with_path[ii], freeze_ebdd_weights=freeze_ebdd_weights, freeze_encoder=freeze_encoder, freeze_decoder=freeze_decoder)