mindspore_lite.Context
- class mindspore_lite.Context(thread_num=None, inter_op_parallel_num=None, thread_affinity_mode=None, thread_affinity_core_list=None, enable_parallel=False)[源代码]
Context用于在执行期间存储环境变量。
在运行程序之前,应配置context。如果没有配置,默认情况下将根据设备目标进行自动设置。
Note
如果同时设置thread_affinity_mode和thread_affinity_core_list,则thread_affinity_core_list有效,但thread_affinity_mode无效。 参数默认值是None时表示不设置。
- 参数:
thread_num (int,可选) - 设置运行时的线程数。默认值:None。
inter_op_parallel_num (int,可选) - 设置运行时算子的并行数。默认值:None。
thread_affinity_mode (int,可选) - 与CPU核心的线程亲和模式。默认值:None。
0 - 无亲和性。
1 - 大核优先。
2 - 小核优先。
thread_affinity_core_list (list[int],可选) - 与CPU核心的线程亲和列表。默认值:None。
enable_parallel (bool,可选) - 设置状态是否启用并行执行模型推理或并行训练。默认值:False。
- 异常:
TypeError - thread_num 既不是int类型也不是None。
TypeError - inter_op_parallel_num 既不是int类型也不是None。
TypeError - thread_affinity_mode 既不是int类型也不是None。
TypeError - thread_affinity_core_list 既不是list类型也不是None。
TypeError - thread_affinity_core_list 是list类型,但元素既不是int类型也不是None。
TypeError - enable_parallel 不是bool类型。
ValueError - thread_num 小于0。
ValueError - inter_op_parallel_num 小于0。
样例:
>>> import mindspore_lite as mslite >>> context = mslite.Context(thread_num=1, inter_op_parallel_num=1, thread_affinity_mode=1, ... enable_parallel=False) >>> print(context) thread_num: 1, inter_op_parallel_num: 1, thread_affinity_mode: 1, thread_affinity_core_list: [], enable_parallel: False, device_list: .
- append_device_info(device_info)[源代码]
将一个用户定义的设备信息附加到上下文中。
Note
添加GPU设备信息后,必须在调用上下文之前添加CPU设备信息。因为当GPU不支持算子时,系统将尝试CPU是否支持该算子。此时,需要切换至带有CPU设备信息的上下文中。
添加Ascend设备信息后,必须在调用上下文之前添加CPU设备信息。因为当在Ascend上不支持算子时,系统将尝试CPU是否支持算子。此时,需要切换至带有CPU设备信息的上下文中。
- 参数:
device_info (DeviceInfo) - 实例化的设备信息。
- 异常:
TypeError - device_info 不是DeviceInfo类型。
样例:
>>> import mindspore_lite as mslite >>> context = mslite.Context() >>> context.append_device_info(mslite.CPUDeviceInfo()) >>> print(context) thread_num: 0, inter_op_parallel_num: 0, thread_affinity_mode: 1, thread_affinity_core_list: [], enable_parallel: False, device_list: 0, .