Function: set_dynamic_batch_size

Function Usage

In the dynamic batch scenario, sets the batch size (number of images processed at a time) for model inference before model execution.

Prototype

  • C Prototype
    1
    aclError aclmdlSetDynamicBatchSize(uint32_t modelId, aclmdlDataset *dataset, size_t index, uint64_t batchSize)
    
  • Python Function
    1
    ret = acl.mdl.set_dynamic_batch_size(model_id, dataset, index, batch_size)
    

Parameters

Parameter

Description

model_id

Int, model ID.

You can obtain the model ID after the model is successfully loaded by calling the following APIs:

dataset

Int, pointer address of the input data of a model.

Data of type aclmdlDataset describes the input data for model inference, while data of type aclDataBuffer describes the input buffer size and address. For details, see aclmdlDataset.

index: int, index of the input dynamic batch, obtained by calling acl.mdl.get_input_index_by_name. For dynamic batch and image size, the input name is fixed to ascend_mbatch_shape_data. For dynamic AIPP, the input name is fixed to ascend_dynamic_aipp_data.

index

Int, index of the input dynamic batch, obtained by calling acl.mdl.get_input_index_by_name. For dynamic batch and image size, the input name is fixed to ascend_mbatch_shape_data. For dynamic AIPP, the input name is fixed to ascend_dynamic_aipp_data.

batch_size

Int, batch size for model inference.

The configured batch_size must be among the batch size profiles set during model building. You can also call acl.mdl.get_dynamic_batch to obtain the number of batch size profiles supported by a specified model and the number of batches in each profile.

Returns

Return Value

Description

ret

Int, error code. 0 indicates success, and other values indicate failure.

Reference

For details about the API call sequence and example, see Dynamic Batch/Dynamic Image Size/Dynamic Dimension (Setting Multi-Dimension Profiles).