mindformers.core.set_context

查看源文件
mindformers.core.set_context(run_mode=None, **kwargs)[源代码]

设置运行环境的context。

在运行程序之前,应配置context。如果没有配置,默认情况下将根据设备目标进行自动设置。

说明

设置属性时,必须输入属性名称。目前只有run_mode参数属于MindFormers context,Kwargs参数会被传到MindSpore的set_context接口中。 可以通过关键字参数开关训练或推理的确定性计算。训练和推理的确定性计算的关键字参数分别为: train_precision_syncinfer_precision_sync。 开和关对应的操作是布尔值,True 表示打开、False 表示关闭。 该操作是单次的,重复操作不成功且会有告警日志提示。

参数:
  • run_mode (str, 可选) - 运行模式,可以是['train', 'finetune', 'eval', 'predict']其中之一。默认值: None

  • kwargs - MindSpore的context参数。

样例:

>>> from mindformers import build_context, set_context
>>> config = {'context': {'mode': 'GRAPH_MODE'}, 'parallel':{}}
>>> build_context(config=config)
>>> set_context(max_device_memory='59GB')
>>> set_context(run_mode='predict', infer_precision_sync=True)
WARNING - 'CUSTOM_MATMUL_SHUFFLE' is set to 'off' because infer_precision_sync is True.
WARNING - 'LCCL_DETERMINISTIC' is set to '1' because infer_precision_sync is True.
>>> set_context(run_mode='predict', infer_precision_sync=True)
WARNING - mindspore.set_deterministic has been set, can not be set repeatedly.
Key environment variables: HCCL_DETERMINISTIC: true, TE_PARALLEL_COMPILER: 1,
CUSTOM_MATMUL_SHUFFLE: off, LCCL_DETERMINISTIC: 1