You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mindspore.ops.Primitive.rst 3.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. mindspore.ops.Primitive
  2. =======================
  3. .. py:class:: mindspore.ops.Primitive(name)
  4. Primitive是Python中算子原语的基类。
  5. **参数:**
  6. - **name** (str) - 当前Primitive的名称。
  7. .. py:method:: add_prim_attr(name, value)
  8. 添加Primitive的属性。
  9. **参数:**
  10. - **name** (str) - 属性名称。
  11. - **value** (Any) - 属性值。
  12. .. py:method:: check_elim(*args)
  13. 检查是否可以消除此Primitive。有需要的子类可以重写该方法。
  14. **参数:**
  15. - **args** (Primitive参数的类型) - 与当前Primitive的参数相同。
  16. **返回:**
  17. 由两个元素组成的元组。第一个元素是指是否能在编译阶段计算Primitive,第二个元素是计算结果。
  18. .. py:method:: del_prim_attr(name)
  19. 删除Primitive的属性。
  20. **参数:**
  21. - **name** (str) - 属性名称。
  22. .. py:method:: init_prim_io_names(inputs, outputs)
  23. 初始化Tensor或属性的输入输出的名称。
  24. **参数:**
  25. - **inputs** (list[str]) - 输入名称的列表。
  26. - **outputs** (list[str]) - 输出名称的列表。
  27. .. py:method:: recompute(mode=True)
  28. 设置Primitive的重计算属性。
  29. 如果有一个被设置了重计算属性的Primitive,并且其结果在计算导数的时候被使用,那么不会保存该Primitive在前向网络中的中间计算结果,而是在自动微分的时候重新进行计算。
  30. .. note::
  31. - 如果计算涉及随机化或全局变量,则暂无法保证等效性。
  32. - 在PyNative模式下不支持。
  33. **参数:**
  34. - **mode** (bool) - Primitive是否设置了重计算。默认值:True。
  35. .. py:method:: set_prim_instance_name(instance_name)
  36. 设置Primitive算子的实例的名称。
  37. .. note::
  38. 当用户定义Primitive算子时,默认调用它。
  39. **参数:**
  40. - **instance_name** (str) - 用户设置的Primitive算子的实例的名称。
  41. .. py:method:: set_stage(stage)
  42. 将stage的ID添加到Primitive属性中。
  43. .. note::
  44. 仅在半自动并行模式下有效。在其他并行模式下,请将其设置为0。
  45. **参数:**
  46. - **stage** (int) - 当前stage的ID。
  47. .. py:method:: shard(in_strategy=None, out_strategy=None)
  48. 将切分策略添加到Primitive属性中。
  49. .. note::
  50. 仅在半自动并行或自动并行模式下有效。在其他并行模式中,将忽略此处设置的策略。
  51. **参数:**
  52. - **in_strategy** (tuple) - 描述算子输入的切分策略。默认值:None。
  53. - **out_strategy** (tuple) - 描述算子输出的切分策略,仅针对某些算子,如MatMul。默认值:None。
  54. .. py:method:: update_parameter()
  55. 判断此Primitive是否会更新参数的值。