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: 0,
thread_affinity_core_list: [],
enable_parallel: False,
device_list: 0, .