Class AscendDeviceInfo

#include <context.h>

派生自DeviceInfoContext,模型运行在Atlas 200/300/500推理产品、Atlas推理系列产品上的配置。

公有成员函数

函数

云侧推理是否支持

端侧推理是否支持

enum DeviceType GetDeviceType() const override

void SetDeviceID(uint32_t device_id)

uint32_t GetDeviceID() const

void SetRankID(uint32_t rank_id)

uint32_t GetRankID() const

inline void SetInsertOpConfigPath(const std::string &cfg_path)

inline std::string GetInsertOpConfigPath() const

inline void SetInputFormat(const std::string &format)

inline std::string GetInputFormat() const

inline void SetInputShape(const std::string &shape)

inline std::string GetInputShape() const

void SetInputShapeMap(const std::map<int, std::vector<int>> &shape)

std::map<int, std::vector<int>> GetInputShapeMap() const

void SetDynamicBatchSize(const std::vector<size_t> &dynamic_batch_size)

inline std::string GetDynamicBatchSize() const

inline void SetDynamicImageSize(const std::string &dynamic_image_size)

inline std::string GetDynamicImageSize() const

void SetOutputType(enum DataType output_type)

enum DataType GetOutputType() const

inline void SetPrecisionMode(const std::string &precision_mode)

inline std::string GetPrecisionMode() const

inline void SetOpSelectImplMode(const std::string &op_select_impl_mode)

inline std::string GetOpSelectImplMode() const

inline void SetFusionSwitchConfigPath(const std::string &cfg_path)

inline std::string GetFusionSwitchConfigPath() const

inline void SetBufferOptimizeMode(const std::string &buffer_optimize_mode)

inline std::string GetBufferOptimizeMode() const

GetDeviceType

enum DeviceType GetDeviceType() const override
  • 返回值

    DeviceType::kAscend

SetDeviceID

void SetDeviceType(uint32_t device_id)

用于指定设备ID。

  • 参数

    • device_id: 设备ID。

GetDeviceID

uint32_t GetDeviceID() const
  • 返回值

    已配置的设备ID。

SetRankID

void SetRankID(uint32_t rank_id)

指定模型rank_id。

  • 参数

    • rank_id: Rank ID。

GetRankID

uint32_t GetRankID() const
  • 返回值

    获取模型的rank_id。

SetInsertOpConfigPath

inline void SetInsertOpConfigPath(const std::string &cfg_path)

模型插入AIPP算子。

  • 参数

    • cfg_path: AIPP配置文件路径。

GetInsertOpConfigPath

inline std::string GetInsertOpConfigPath() const
  • 返回值

    已配置的AIPP

SetInputFormat

inline void SetInputFormat(const std::string &format)

指定模型输入格式。

  • 参数

    • format: 输入格式,可选值有 "NCHW""NHWC""ND"

GetInputFormat

inline std::string GetInputFormat() const
  • 返回值

    已配置的模型输入格式。

SetInputShape

inline void SetInputShape(const std::string &shape)

指定模型输入shape,为字符串形式,需指定输入名称,每个shape值由,隔开,不同输入由;隔开。

  • 参数

    • shape: 如 "input_op_name1:1,2,3,4;input_op_name2:4,3,2,1"

GetInputShape

inline std::string GetInputShape() const
  • 返回值

    已配置的模型输入shape。

SetInputShapeMap

inline void SetInputShapeMap(const std::map<int, std::vector<int>> &shape)

指定模型输入shape。

  • 参数

    • shape: map的key对应输入的下标,例如第一个输入对应下标0,第二个对应下标1。value对应输入shape,为数组形式。

GetInputShapeMap

std::map<int, std::vector<int>> GetInputShapeMap() const
  • 返回值

    已配置模型输入shape。

SetDynamicBatchSize

void SetDynamicBatchSize(const std::vector<size_t> &dynamic_batch_size)

指定模型动态batch的档位,支持个数范围[2, 100],为数组形式。

  • 参数

    • dynamic_batch_size: 如{1, 2}

GetDynamicBatchSize

inline std::string GetDynamicBatchSize() const
  • 返回值

    已配置模型的动态batch。

SetDynamicImageSize

inline void SetDynamicImageSize(const std::string &dynamic_image_size)

指定模型动态分辨率的档位,支持个数范围[2, 100],为字符串形式,每个shape值由,隔开,不同输入由;隔开。

  • 参数

    • dynamic_image_size: 如"64,64;128,128"

GetDynamicImageSize

inline std::string GetDynamicImageSize() const
  • 返回值

    已配置模型的动态分辨率。

SetOutputType

void SetOutputType(enum DataType output_type)

指定模型输出type。

  • 参数

    • output_type: 可选有 "FP32""UINT8""FP16"

GetOutputType

enum DataType GetOutputType() const
  • 返回值

    已配置模型的输出类型。

SetPrecisionMode

inline void SetPrecisionMode(const std::string &precision_mode)

配置模型精度模式。

  • 参数

    • precision_mode: 可选有 "enforce_fp16""preferred_fp32""enforce_origin""enforce_fp32" 或者"preferred_optimal",默认为 "enforce_fp16"

GetPrecisionMode

inline std::string GetPrecisionMode() const
  • 返回值

    已配置模型的精度模式。

SetOpSelectImplMode

inline void SetOpSelectImplMode(const std::string &op_select_impl_mode)

配置算子实现方式。

  • 参数

    • op_select_impl_mode: 可选有 "high_performance""high_precision",默认为 "high_performance"

GetOpSelectImplMode

inline std::string GetOpSelectImplMode() const
  • 返回值

    已配置的算子选择模式。

SetFusionSwitchConfigPath

inline void SetFusionSwitchConfigPath(const std::string &cfg_path)

配置融合开关。

  • 参数

    • cfg_path: 融合开关配置文件,可指定关闭特定融合规则。

GetFusionSwitchConfigPath

inline std::string GetFusionSwitchConfigPath() const
  • 返回值

    已配置的融合开关文件路径。

SetBufferOptimizeMode

inline void SetBufferOptimizeMode(const std::string &buffer_optimize_mode)

配置缓存优化模式。

  • 参数

    • buffer_optimize_mode: 可选有 "l1_optimize""l2_optimize""off_optimize",默认为 "l2_optimize"

GetBufferOptimizeMode

inline std::string GetBufferOptimizeMode() const
  • 返回值

    已配置的缓存优化模式。