Ejemplo n.º 1
0
def run(experiment_id, restore_path, output_template_dir=None):
    """Convert from trained model."""

    # Export model
    run_export(experiment_id,
               restore_path,
               image_size=(None, None),
               images=[],
               config_file=None)
    export_dir = get_export_directory(experiment_id, restore_path)

    # Set arguments
    input_pb_path = os.path.join(export_dir, "minimal_graph_with_shape.pb")
    dest_dir_path = export_dir
    project_name = "project"
    activate_hard_quantization = True
    threshold_skipping = True
    cache_dma = True

    # Generate project
    run_generate_project(input_path=input_pb_path,
                         dest_dir_path=dest_dir_path,
                         project_name=project_name,
                         activate_hard_quantization=activate_hard_quantization,
                         threshold_skipping=threshold_skipping,
                         cache_dma=cache_dma)

    # Create output dir from template
    output_root_dir = os.path.join(export_dir, "output")
    output_directories = create_output_directory(output_root_dir,
                                                 output_template_dir)

    # Save meta.yaml to model output dir
    shutil.copy(os.path.join(export_dir, "meta.yaml"),
                output_directories.get("model_dir"))

    # Save minimal_graph_with_shape.pb to model output dir for TensforflowGraphRunner
    shutil.copy(os.path.join(export_dir, "minimal_graph_with_shape.pb"),
                output_directories.get("model_dir"))

    # Make
    project_dir_name = "{}.prj".format(project_name)
    project_dir = os.path.join(dest_dir_path, project_dir_name)
    make_all(project_dir, output_directories.get("library_dir"))
Ejemplo n.º 2
0
def run(experiment_id,
        restore_path,
        output_template_dir=None,
        image_size=(None, None),
        project_name=None):
    """Convert from trained model.

    Returns:
        output_root_dir (str): Path of exported dir.
            (i.e. `(path to saved)/saved/det_20190326181434/export/save.ckpt-161/128x128/output/`)
    """

    # Export model
    export_dir = run_export(experiment_id,
                            restore_path=restore_path,
                            image_size=image_size)

    # Set arguments
    input_pb_path = os.path.join(export_dir, "minimal_graph_with_shape.pb")
    if not project_name:
        project_name = "project"
    activate_hard_quantization = True
    threshold_skipping = True
    cache_dma = True

    # Generate project
    run_generate_project(input_path=input_pb_path,
                         dest_dir_path=export_dir,
                         project_name=project_name,
                         activate_hard_quantization=activate_hard_quantization,
                         threshold_skipping=threshold_skipping,
                         cache_dma=cache_dma)

    # Create output dir from template
    output_root_dir = os.path.join(export_dir, "output")
    output_directories = create_output_directory(output_root_dir,
                                                 output_template_dir)

    # Save meta.yaml to model output dir
    shutil.copy(os.path.join(export_dir, "meta.yaml"),
                output_directories.get("model_dir"))

    # Save minimal_graph_with_shape.pb to model output dir for TensforflowGraphRunner
    shutil.copy(os.path.join(export_dir, "minimal_graph_with_shape.pb"),
                output_directories.get("model_dir"))

    # Make
    project_dir_name = "{}.prj".format(project_name)
    project_dir = os.path.join(export_dir, project_dir_name)
    make_all(project_dir, output_directories.get("library_dir"))

    return output_root_dir