mindspore.utils

查看源文件
mindspore.utils.stress_detect()

用于检测硬件精度是否有故障。常见使用场景为在每个step或者保存checkpoint的时候,用户调用该接口,查看硬件是否有故障会影响精度。

返回:

int,返回值代表错误类型,0表示正常;非0表示硬件故障。

支持平台:

Ascend

样例

>>> from mindspore.utils import stress_detect
>>> ret = stress_detect()
>>> print(ret)
0
mindspore.utils.dryrun.set_simulation()[源代码]

用于设置dryrun功能开启。dryrun功能主要用于模拟大模型的实际运行,开启后可以在不占卡的情况下模拟出显存占用,编译信息等。 在PyNative场景下开启后,若存在从device取值到host的场景,会打印出Python调用栈日志,告知用户这些值是不准确的。

支持平台:

Ascend

样例:

>>> import mindspore as ms
>>> from mindspore.utils import dryrun
>>> import numpy as np
>>> dryrun.set_simulation()
>>> print(os.environ.get('MS_SIMULATION_LEVEL'))
1
mindspore.utils.dryrun.mock(mock_val, *args)[源代码]

在网络中若一些if判断需要用到实际执行值,虚拟执行无法获取,可以使用该接口返回模拟值。实际执行时可以获取到正确结果,返回执行值。

参数:
  • mock_val (Union[Value, Tensor]) - 虚拟执行场景下,想要输出的值。

  • args (Union[Value, function]) - 期望被mock掉的值,可以是函数或者变量。

返回:

开启dryrun功能,返回静态模拟值(mock_val),否则返回实际执行结果(args)。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore as ms
>>> from mindspore.utils import dryrun
>>> import numpy as np
>>> dryrun.set_simulation()
>>> a = ms.Tensor(np.random.rand(3, 3).astype(np.float32))
>>> if dryrun.mock(True, a[0, 0] > 0.5):
...     print("return mock_val: True.")
return mock_val: True
>>>
>>> import mindspore as ms
>>> from mindspore.utils import dryrun
>>> import numpy as np
>>> a = ms.Tensor(np.ones((3, 3)).astype(np.float32))
>>> if dryrun.mock(False, a[0, 0] > 0.5):
...     print("return real execution: True.")
return real execution: True.
>>>
>>> import mindspore as ms
>>> from mindspore.utils import dryrun
>>> import numpy as np
>>> a = ms.Tensor(np.ones((3, 3)).astype(np.float32))
>>> if dryrun.mock(False, (a > 0.5).any):
...     print("return real execution: True.")
return real execution: True.