Пример #1
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)

    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)
Пример #2
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)