--dynamic_dims

Applicability

Product

Supported (√/x)

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

Description

Sets dynamic dimension profiles in ND format. Applies to the scenario where the dimensions for inference are unfixed.

See Also

This option must be used in conjunction with --input_shape and is mutually exclusive with --dynamic_batch_size, --dynamic_image_size, and --insert_op_conf.

Arguments

Argument: for example, "dim1,dim2,dim3;dim4,dim5,dim6;dim7,dim8,dim9".

Format: Enclose the whole argument in double quotation marks (""), and separate the dimension size profiles with semicolons (;). The dimension size values match the -1 placeholders in the --input_shape argument with ordering preserved, and the number of -1 placeholders equals the number of dimension sizes of each profile.

Restrictions: The dynamic dimension feature allows a shape of up to 4-dimensional. The number of dimension size profiles has a value range (1, 100]. Set at least two profiles (a maximum of 100 dimension size profiles are supported). 3 to 4 dimension size profiles are recommended.

Suggestions and Benefits

None

Examples

  • If the network model has only one input:

    The dimension size values match the -1 placeholders in the --input_shape argument with ordering preserved, and the number of -1 placeholders equals the number of dimension sizes of each profile. The following provides an example.

    Assume that values of the AOE options are as follows:

    --input_shape="data:1,-1"  --dynamic_dims="4;8;16;64"

    The shape of the data operator supported by the AOE during model tuning is (1, 4), (1, 8), (1, 16), and (1, 64).

    Assume that values of the AOE options are as follows:

    --input_shape="data:1,-1,-1"  --dynamic_dims="1,2;3,4;5,6;7,8"

    The shape of the data operator supported by the AOE during model tuning is (1, 1, 2), (1, 3, 4), (1, 5, 6), and (1, 7, 8).

  • If the network model has multiple inputs:

    The dimension size values match the -1 placeholders in the argument with ordering preserved, and the number of -1 placeholders equals the number of dimension sizes of each profile. Assume that a network model has three inputs: data (1, 1, 40, T), label (1, T), and mask (T, T), where T indicates a dynamic dimension. The configuration example is as follows:

    --input_shape="data:1,1,40,-1;label:1,-1;mask:-1,-1"  --dynamic_dims="20,20,1,1;40,40,2,2;80,60,4,4" --input_format=ND

    When the AOE tunes a model, the supported input dims combinations are as follows:

    Profile 0: data(1,1,40,20)+label(1,20)+mask(1,1)

    Profile 1: data(1,1,40,40)+label(1,40)+mask(2,2)

    Profile 2: data(1,1,40,80)+label(1,60)+mask(4,4)

Dependencies and Restrictions

If this option is used to set dynamic dimensions during model tuning, the aclmdlSetInputDynamicDims API should be called before aclmdlExecute to set the runtime dimensions.

For details about how to use the aclmdlSetInputDynamicDims API, see "Model Execution".