Mask2former with TAO Deploy#

To generate an optimized TensorRT engine, a Mask2former .onnx file, which is first generated using tao model mask2former export, is taken as an input to tao deploy mask2former gen_trt_engine. For more information about training a Mask2former model, refer to the Mask2former training documentation.

Each task is explained in detail in the following sections.

Note

  • Throughout this documentation, you will see references to $EXPERIMENT_ID and $DATASET_ID in the FTMS Client sections.

    • For instructions on creating a dataset using the remote client, see the Creating a dataset section in the Remote Client documentation.

    • For instructions on creating an experiment using the remote client, see the Creating an experiment section in the Remote Client documentation.

  • The spec format is YAML for TAO Launcher and JSON for FTMS Client.

  • File-related parameters, such as dataset paths or pretrained model paths, are required only for TAO Launcher and not for FTMS Client.

Converting .onnx File into TensorRT Engine#

To convert the .onnx file, you can reuse the spec file from the Exporting the model section.

gen_trt_engine#

The gen_trt_engine parameter defines TensorRT engine generation.

SPECS=$(tao-client mask2former get-spec --action gen_trt_engine --id $EXPERIMENT_ID)

Parameter

Datatype

Default

Description

Supported Values

onnx_file

string

The precision to be used for the TensorRT engine

trt_engine

string

The maximum workspace size for the TensorRT engine

input_channel

unsigned int

3

The input channel size. Only the value 3 is supported.

3

input_width

unsigned int

960

The input width

>0

input_height

unsigned int

544

The input height

>0

batch_size

unsigned int

-1

The batch size of the ONNX model

>=-1

tensorrt#

The tensorrt parameter defines TensorRT engine generation.

Parameter

Datatype

Default

Description

Supported Values

data_type

string

fp32

The precision to be used for the TensorRT engine

fp32/fp16

workspace_size

unsigned int

1024

The maximum workspace size for the TensorRT engine

>1024

min_batch_size

unsigned int

1

The minimum batch size used for the optimization profile shape

>0

opt_batch_size

unsigned int

1

The optimal batch size used for the optimization profile shape

>0

max_batch_size

unsigned int

1

The maximum batch size used for the optimization profile shape

>0

Use the following command to run Mask2former engine generation:

GEN_TRT_ENGINE_JOB_ID=$(tao-client mask2former experiment-run-action --action gen_trt_engine --id $EXPERIMENT_ID --specs "$SPECS" --parent_job_id $EXPORT_JOB_ID)

Note

$EXPORT_JOB_ID is the job ID of the Exporting the model section.

Running Evaluation through a TensorRT Engine#

You can reuse the TAO evaluation spec file for evaluation through a TensorRT engine. The following is a sample spec file:

SPECS=$(tao-client mask2former get-spec --action evaluate --id $EXPERIMENT_ID)

Use the following command to run Mask2former engine evaluation:

SPECS=$(tao-client mask2former experiment-run-action --action evaluate --id $EXPERIMENT_ID --specs "$SPECS" --parent_job_id $GEN_TRT_ENGINE_JOB_ID)

Running Inference through a TensorRT Engine#

You can reuse the TAO inference spec file for inference through a TensorRT engine. The following is a sample spec file:

SPECS=$(tao-client mask2former get-spec --action inference --id $EXPERIMENT_ID)

Use the following command to run Mask2former engine inference:

SPECS=$(tao-client mask2former experiment-run-action --action inference --id $EXPERIMENT_ID --specs "$SPECS" --parent_job_id $GEN_TRT_ENGINE_JOB_ID)