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.