Class Context
#include <context.h>
Context类用于保存执行中的环境变量。
构造函数
Context()
析构函数
~Context() = default
公有成员变量
Data
struct Data
Context的数据。
公有成员函数
函数 |
云侧推理是否支持 |
端侧推理是否支持 |
|---|---|---|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
√ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
void set_delegate(const std::shared_ptr<AbstractDelegate> &delegate) |
✕ |
√ |
✕ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
✕ |
√ |
|
std::vector<std::shared_ptr<DeviceInfoContext>> &MutableDeviceInfo() |
√ |
√ |
SetThreadNum
void SetThreadNum(int32_t thread_num)
设置运行时的线程数。
参数
thread_num: 运行时的线程数。
GetThreadNum
int32_t GetThreadNum() const
获取当前线程数设置。
返回值
当前线程数设置。
SetGroupInfoFile
void SetGroupInfoFile(std::string group_info_file)
设置组信息文件。
参数
group_info_file: 组信息文件名字。
SetInterOpParallelNum
void SetInterOpParallelNum(int32_t parallel_num)
设置运行时的算子并行推理数目。
参数
parallel_num: 运行时的算子并行数。
GetInterOpParallelNum
int32_t GetInterOpParallelNum() const
获取当前算子并行数设置。
返回值
当前算子并行数设置。
SetThreadAffinity
void SetThreadAffinity(int mode)
设置运行时的CPU绑核策略。
参数
mode: 绑核的模式,有效值为0-2,0为默认不绑核,1为绑大核,2为绑中核。
GetThreadAffinityMode
int GetThreadAffinityMode() const
获取当前CPU绑核策略。
返回值
当前CPU绑核策略,有效值为0-2,0为默认不绑核,1为绑大核,2为绑中核。
SetThreadAffinity
void SetThreadAffinity(const std::vector<int> &core_list)
设置运行时的CPU绑核列表。如果SetThreadAffinity和SetThreadAffinity同时设置,core_list生效,mode不生效。
参数
core_list: CPU绑核的列表。
GetThreadAffinityCoreList
std::vector<int32_t> GetThreadAffinityCoreList() const
获取当前CPU绑核列表。
返回值
当前CPU绑核列表。
SetEnableParallel
void SetEnableParallel(bool is_parallel)
设置运行时是否支持并行。
参数
is_parallel: bool量,为true则支持并行。
GetEnableParallel
bool GetEnableParallel() const
获取当前是否支持并行。
返回值
返回值为true,代表支持并行。
SetBuiltInDelegate
void SetBuiltInDelegate(DelegateMode mode)
设置内置Delegate模式,以使用第三方AI框架辅助推理。
参数
mode: 内置Delegate模式,可选配置选项kNoDelegate、kCoreML、kNNAPI。kNoDelegate表示不使用第三方AI框架辅助推理,kCoreML表示使用CoreML进行推理(在iOS上可选),kNNAPI表示使用NNAPI进行推理(在Android上可选)。
GetBuiltInDelegate
DelegateMode GetBuiltInDelegate() const
获取当前内置Delegate模式。
返回值
返回当前内置Delegate模式。
set_delegate
void set_delegate(const std::shared_ptr<AbstractDelegate> &delegate)
设置Delegate,Delegate定义了用于支持第三方AI框架接入的代理。
参数
delegate: Delegate指针。
SetDelegate
void SetDelegate(const std::shared_ptr<Delegate> &delegate)
设置Delegate,Delegate定义了用于支持第三方AI框架接入的代理。
参数
delegate: Delegate指针。
get_delegate
std::shared_ptr<AbstractDelegate> get_delegate() const
获取当前Delegate。
返回值
当前Delegate的指针。
GetDelegate
std::shared_ptr<Delegate> GetDelegate() const
获取当前Delegate。
返回值
当前Delegate的指针。
SetMultiModalHW
void SetMultiModalHW(bool float_mode)
在多设备中,配置量化模型是否以浮点模式运行。
参数
float_mode: 是否以浮点模式运行。
GetMultiModalHW
bool GetMultiModalHW() const
获取当前配置中,量化模型的运行模式。
返回值
当前配置中,量化模型是否以浮点模式运行。
MutableDeviceInfo
std::vector<std::shared_ptr<DeviceInfoContext>> &MutableDeviceInfo()
修改该context下的DeviceInfoContext数组,仅端侧推理支持数组中有多个成员是异构场景。
返回值
存储DeviceInfoContext的vector的引用。