mindspore.utils

查看源文件
mindspore.utils.stress_detect(detect_type='aic')[源代码]

此接口将在后续版本中废弃,请使用接口 mindspore.tools.stress_detect() 代替。

参数:
  • detect_type (str,可选) - 进行压测的类型。有两种可选:'aic''hccs',分别会对设备进行AiCore和HCCS链路压测。默认 'aic'

返回:

int。返回值代表错误类型,0表示正常;1表示精度检测用例执行失败;2表示硬件故障,建议更换设备。

支持平台:

Ascend

样例:

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

将DLPack对象转换为MindSpore Tensor。

此函数允许从其他支持DLPack的深度学习框架共享张量数据。 数据不会被复制,返回的MindSpore Tensor与源张量共享内存。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • dlpack (PyCapsule) - 要转换的DLPack对象,它是一个包含指向 DLManagedTensor 的指针的capsule。

返回:

Tensor, 与DLPack对象共享内存的MindSpore Tensor。

支持平台:

Ascend

样例:

>>> import mindspore as ms
>>> from mindspore.utils.dlpack import to_dlpack, from_dlpack
>>> import numpy as np
>>> # Create a MindSpore Tensor and convert it to DLPack
>>> x = ms.Tensor(np.random.rand(2, 3), ms.float32)
>>> dlpack_obj = to_dlpack(x)
>>>
>>> # Convert the DLPack object back to a MindSpore Tensor
>>> y = from_dlpack(dlpack_obj)
>>> print(x.shape == y.shape)
True
mindspore.utils.dlpack.to_dlpack(tensor)[源代码]

将MindSpore的Tensor转换为DLPack对象。

DLPack格式是在不同深度学习框架之间共享张量数据的标准。 返回的DLPack对象是一个Python capsule,可以被其他支持DLPack的库使用。 该capsule包含一个指向 DLManagedTensor 结构的指针。DLPack对象的使用者负责释放内存。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • tensor (Tensor) - 要转换的MindSpore Tensor。

返回:

PyCapsule, 一个可以被其他库使用的DLPack对象。

支持平台:

Ascend

样例:

>>> import mindspore as ms
>>> from mindspore.utils.dlpack import to_dlpack, from_dlpack
>>> import numpy as np
>>> # Convert a MindSpore Tensor to DLPack
>>> x = ms.Tensor(np.random.rand(2, 3), ms.float32)
>>> dlpack_obj = to_dlpack(x)
>>>
>>> # At this point, dlpack_obj can be used by other frameworks that support DLPack.
>>> # For demonstration, we convert it back to a MindSpore Tensor.
>>> y = from_dlpack(dlpack_obj)
>>> print(x.shape == y.shape)
True
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.
mindspore.utils.sdc_detect_start()[源代码]

此接口将在后续版本中废弃,请使用接口 mindspore.tools.sdc_detect_start() 代替。

支持平台:

Ascend

样例:

>>> from mindspore.utils import sdc_detect_start
>>> sdc_detect_start()
mindspore.utils.sdc_detect_stop()[源代码]

此接口将在后续版本中废弃,请使用接口 mindspore.tools.sdc_detect_stop() 代替。

支持平台:

Ascend

样例:

>>> from mindspore.utils import sdc_detect_stop
>>> sdc_detect_stop()
mindspore.utils.get_sdc_detect_result()[源代码]

此接口将在后续版本中废弃,请使用接口 mindspore.tools.get_sdc_detect_result() 代替。

返回:

bool,表示在检测开启后是否发生静默数据错误。

支持平台:

Ascend

样例:

>>> from mindspore.utils import get_sdc_detect_result
>>> result = get_sdc_detect_result()
>>> print(result)
False