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.context.rst 27 kB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. mindspore.context
  2. ===================
  3. MindSpore context,用于配置当前执行环境,包括执行模式、执行后端和其他特性开关。
  4. .. py:function:: mindspore.context.set_context(**kwargs)
  5. 设置运行环境的context。
  6. 在运行程序之前,应配置context。如果没有配置,默认情况下将根据设备目标进行自动设置。
  7. .. note::
  8. 设置属性时,必须输入属性名称。
  9. 某些配置适用于特定的设备,有关详细信息,请参见下表:
  10. +-------------------------+------------------------------+----------------------------+
  11. | 功能分类 | 配置参数 | 硬件平台支持 |
  12. +=========================+==============================+============================+
  13. | 系统配置 | device_id | CPU/GPU/Ascend |
  14. | +------------------------------+----------------------------+
  15. | | device_target | CPU/GPU/Ascend |
  16. | +------------------------------+----------------------------+
  17. | | max_device_memory | GPU |
  18. | +------------------------------+----------------------------+
  19. | | variable_memory_max_size | Ascend |
  20. | +------------------------------+----------------------------+
  21. | | mempool_block_size | GPU/Ascend |
  22. +-------------------------+------------------------------+----------------------------+
  23. | 调试配置 | save_graphs | CPU/GPU/Ascend |
  24. | +------------------------------+----------------------------+
  25. | | save_graphs_path | CPU/GPU/Ascend |
  26. | +------------------------------+----------------------------+
  27. | | enable_dump | Ascend |
  28. | +------------------------------+----------------------------+
  29. | | save_dump_path | Ascend |
  30. | +------------------------------+----------------------------+
  31. | | enable_profiling | Ascend |
  32. | +------------------------------+----------------------------+
  33. | | profiling_options | Ascend |
  34. | +------------------------------+----------------------------+
  35. | | print_file_path | Ascend |
  36. | +------------------------------+----------------------------+
  37. | | env_config_path | CPU/GPU/Ascend |
  38. | +------------------------------+----------------------------+
  39. | | precompile_only | CPU/GPU/Ascend |
  40. | +------------------------------+----------------------------+
  41. | | reserve_class_name_in_scope | CPU/GPU/Ascend |
  42. | +------------------------------+----------------------------+
  43. | | pynative_synchronize | GPU/Ascend |
  44. +-------------------------+------------------------------+----------------------------+
  45. | 执行控制 | mode | CPU/GPU/Ascend |
  46. | +------------------------------+----------------------------+
  47. | | enable_graph_kernel | Ascend/GPU |
  48. | +------------------------------+----------------------------+
  49. | | graph_kernel_flags | Ascend/GPU |
  50. | +------------------------------+----------------------------+
  51. | | enable_reduce_precision | Ascend |
  52. | +------------------------------+----------------------------+
  53. | | auto_tune_mode | Ascend |
  54. | +------------------------------+----------------------------+
  55. | | check_bprop | CPU/GPU/Ascend |
  56. | +------------------------------+----------------------------+
  57. | | max_call_depth | CPU/GPU/Ascend |
  58. | +------------------------------+----------------------------+
  59. | | enable_sparse | CPU/GPU/Ascend |
  60. | +------------------------------+----------------------------+
  61. | | grad_for_scalar | CPU/GPU/Ascend |
  62. | +------------------------------+----------------------------+
  63. | | save_compile_cache | CPU/GPU/Ascend |
  64. | +------------------------------+----------------------------+
  65. | | load_compile_cache | CPU/GPU/Ascend |
  66. +-------------------------+------------------------------+----------------------------+
  67. **参数:**
  68. - **device_id** (int) - 表示目标设备的ID,其值必须在[0, device_num_per_host-1]范围中,且 `device_num_per_host` 的值不应超过4096。默认值:0。
  69. - **device_target** (str) - 表示待运行的目标设备,支持'Ascend'、'GPU'和'CPU'。如果未设置此参数,则使用MindSpore包对应的后端设备。
  70. - **max_device_memory** (str) - 设置设备可用的最大内存。目前,仅在GPU上支持。格式为“xxGB”。默认值:1024GB。实际使用的内存大小是设备的可用内存和 `max_device_memory` 值中的最小值。
  71. - **variable_memory_max_size** (str) - 设置可变内存的最大值。默认值:30GB。
  72. - **mempool_block_size** (str) - 设置PyNative模式下设备内存池的块大小。格式为“xxGB”。默认值:1GB。最小值是1GB。实际使用的内存池块大小是设备的可用内存和 `mempool_block_size` 值中的最小值。
  73. - **save_graphs** (bool) - 表示是否保存计算图。默认值:False。当 `save_graphs` 属性设为True时, `save_graphs_path` 属性用于设置中间编译图的存储路径。默认情况下,计算图保存在当前目录下。
  74. - **save_graphs_path** (str) - 表示保存计算图的路径。默认值:"."。如果指定的目录不存在,系统将自动创建该目录。在分布式训练中,图形将被保存到 `save_graphs_path/rank_${rank_id}/` 目录下。 `rank_id` 为集群中当前设备的ID。
  75. - **enable_dump** (bool) - 此参数已弃用,将在下一版本中删除。
  76. - **save_dump_path** (str) - 此参数已弃用,将在下一版本中删除。
  77. - **enable_profiling** (bool) - 此参数已弃用,将在下一版本中删除。请使用mindspore.profiler.Profiler API。
  78. - **profiling_options** (str) - 此参数已弃用,将在下一版本中删除。请使用mindspore.profiler.Profiler API。
  79. - **print_file_path** (str):该路径用于保存打印数据。使用时 :class:`mindspore.ops.print` 可以打印输入的张量或字符串信息,使用方法 :func:`mindspore.parse_print` 解析保存的文件。如果设置了此参数,打印数据保存到文件,未设置将显示到屏幕。如果保存的文件已经存在,则将添加时间戳后缀到文件中。将数据保存到文件解决了屏幕打印中的数据丢失问题, 如果未设置,将报告错误:"prompt to set the upper absolute path"。
  80. - **env_config_path** (str) - 通过 `context.set_context(env_config_path="./mindspore_config.json")` 来设置MindSpore环境配置文件路径。
  81. 配置Running Data Recorder:
  82. - **enable**:表示在发生故障时是否启用Running Data Recorder去收集和保存训练中的关键数据。设置为True时,将打开Running Data Recorder。设置为False时,将关闭Running Data Recorder。
  83. - **mode**:指定在GRAPH_MODE(0)还是PYNATIVE_MODE(1)下运行,两种模式均支持所有后端。默认值:GRAPH_MODE(0)。
  84. - **path**:设置Running Data Recorder保存数据的路径。当前路径必须是一个绝对路径。
  85. 内存重用:
  86. - **mem_Reuse**:表示内存复用功能是否打开。设置为True时,将打开内存复用功能。设置为False时,将关闭内存复用功能。
  87. 有关running data recoder和内存复用配置详细信息,请查看 `配置RDR和内存复用 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/custom_debugging_info.html>`_。
  88. - **precompile_only** (bool) - 表示是否仅预编译网络。默认值:False。设置为True时,仅编译网络,而不执行网络。
  89. - **reserve_class_name_in_scope** (bool) - 表示是否将网络类名称保存到所属ScopeName中。默认值:True。每个节点都有一个ScopeName。子节点的ScopeName是其父节点。如果 `reserve_class_name_in_scope` 设置为True,则类名将保存在ScopeName中的关键字“net-”之后。例如:
  90. Default/net-Net1/net-Net2 (reserve_class_name_in_scope=True)
  91. Default/net/net (reserve_class_name_in_scope=False)
  92. - **pynative_synchronize** (bool) - 表示是否在PyNative模式下启动设备同步执行。默认值:False。设置为False时,将在设备上异步执行算子。当算子执行出错时,将无法定位特定错误脚本代码的位置。当设置为True时,将在设备上同步执行算子。这将降低程序的执行性能。此时,当算子执行出错时,可以根据错误的调用栈来定位错误脚本代码的位置。
  93. - **mode** (int) - 表示在GRAPH_MODE(0)或PYNATIVE_MODE(1)模式中的运行。默认值:GRAPH_MODE(0)。GRAPH_MODE或PYNATIVE_MODE可以通过 `mode` 属性设置,两种模式都支持所有后端。默认模式为GRAPH_MODE。
  94. - **enable_graph_kernel** (bool) - 表示开启图算融合去优化网络执行性能。默认值:False。如果 `enable_graph_kernel` 设置为True,则可以启用加速。有关图算融合的详细信息,请查看 `使能图算融合 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_graph_kernel_fusion.html>`_ 。
  95. - **graph_kernel_flags** (str) - 图算融合的优化选项,当与enable_graph_kernel冲突时,它的优先级更高。其仅适用于有经验的用户。例如,context.set_context(graph_kernel_flags="--opt_level=2 --dump_as_text")。一些常用选项:
  96. - **opt_level**:设置优化级别。默认值:2。当opt_level的值大于0时,启动图算融合。可选值包括:
  97. - 0:关闭图算融合。
  98. - 1:启动算子的基本融合。
  99. - 2:包括级别1的所有优化,并打开更多的优化,如CSE优化算法、算术简化等。
  100. - 3:包括级别2的所有优化,并打开更多的优化,如SitchingFusion、ParallelFusion等。在某些场景下,该级别的优化激进且不稳定。使用此级别时要小心。
  101. - **dump_as_text**:将关键过程的详细信息生成文本文件保存到"graph_kernel_dump"目录里。默认值:False。
  102. 有关更多选项,可以参考实现代码。
  103. - **enable_reduce_precision** (bool) - 表示是否开启降低精度计算。默认值:True。设置为True时,不支持用户指定的精度,且精度将自动更改。设置为False时,如果未指定用例的精度,则会报错并退出。
  104. - **auto_tune_mode** (str) - 表示算子构建时的自动调整模式,以获得最佳的切分性能。默认值:NO_TUNE。其值必须在['RL', 'GA', 'RL,GA']范围中。
  105. - RL:强化学习调优。
  106. - GA:遗传算法调优。
  107. - RL,GA:当RL和GA优化同时打开时,工具会根据网络模型中的不同算子类型自动选择RL或GA。RL和GA的顺序没有区别。(自动选择)。
  108. 有关启用算子调优工具设置的更多信息,请查看 `使能算子调优工具 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/enable_auto_tune.html>`_。
  109. - **check_bprop** (bool) - 表示是否检查反向传播节点,以确保反向传播节点输出的形状(shape)和数据类型与输入参数相同。默认值:False。
  110. - **max_call_depth** (int) - 指定函数调用的最大深度。其值必须为正整数。默认值:1000。当嵌套Cell太深或子图数量太多时,需要设置 `max_call_depth` 参数。系统最大堆栈深度应随着 `max_call_depth` 的调整而设置为更大的值,否则可能会因为系统堆栈溢出而引发 "core dumped" 异常。
  111. - **enable_sparse** (bool) - 表示是否启用稀疏特征。默认值:False。有关稀疏特征和稀疏张量的详细信息,请查看 `稀疏张量 <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/tensor.html#sparse-tensor>`_。
  112. - **grad_for_scalar** (bool): 表示是否获取标量梯度。默认值:False。当 `grad_for_scalar` 设置为True时,则可以导出函数的标量输入。由于后端目前不支持伸缩操作,所以该接口只支持在前端可推演的简单操作。
  113. - **enable_compile_cache** (bool) - 表示是否加载或者保存前端编译的图。当 `enable_compile_cache` 被设置为True时,在第一次执行的过程中,一个硬件无关的编译缓存会被生成并且导出为一个MINDIR文件。当该网络被再次执行时,如果 `enable_compile_cache` 仍然为True并且网络脚本没有被更改,那么这个编译缓存会被加载。注意目前只支持有限的Python脚本更改的自动检测,这意味着可能有正确性风险。默认值:False。这是一个实验特性,可能会被更改或者删除。
  114. - **compile_cache_path** (str) - 保存前端图编译缓存的路径。默认值:"."。如果目录不存在,系统会自动创建这个目录。缓存会被保存到如下目录: `compile_cache_path/rank_${rank_id}/` 。 `rank_id` 是集群上当前设备的ID。
  115. - **runtime_num_threads** (int) - 运行时线程池的线程数控制。 默认值为30。
  116. **异常:**
  117. **ValueError**:输入key不是上下文中的属性。
  118. .. py:function:: mindspore.context.get_context(attr_key)
  119. 根据输入key获取context中的属性值。如果该key没有设置,则会获取它们这些的默认值。
  120. **参数:**
  121. - **attr_key** (str) - 属性的key。
  122. **返回:**
  123. Object,表示给定属性key的值。
  124. **异常:**
  125. **ValueError**:输入key不是context中的属性。
  126. .. py:function:: mindspore.context.set_auto_parallel_context(**kwargs)
  127. 配置自动并行,仅在Ascend和GPU上有效。
  128. 应在mindspore.communication.init之前配置自动并行。
  129. .. note::
  130. 配置时,必须输入配置的名称。如果某个程序具有不同并行模式下的任务,需要提前调用reset_auto_parallel_context()为下一个任务设置新的并行模式。若要设置或更改并行模式,必须在创建任何Initializer之前调用接口,否则,在编译网络时,可能会出现RuntimeError。
  131. 某些配置适用于特定的并行模式,有关详细信息,请参见下表:
  132. ========================= =========================
  133. Common AUTO_PARALLEL
  134. ========================= =========================
  135. device_num gradient_fp32_sync
  136. global_rank loss_repeated_mean
  137. gradients_mean auto_parallel_search_mode
  138. parallel_mode strategy_ckpt_load_file
  139. all_reduce_fusion_config strategy_ckpt_save_file
  140. enable_parallel_optimizer dataset_strategy
  141. enable_alltoall pipeline_stages
  142. \ grad_accumulation_step
  143. ========================= =========================
  144. **参数:**
  145. - **device_num** (int) - 表示可用设备的编号,必须在[1,4096]范围中。默认值:1。
  146. - **global_rank** (int) - 表示全局RANK的ID,必须在[0,4095]范围中。默认值:0。
  147. - **gradients_mean** (bool) - 表示是否在梯度的 AllReduce后执行平均算子。stand_alone不支持gradients_mean。默认值:False。
  148. - **gradient_fp32_sync** (bool):在FP32中运行梯度的 AllReduce。stand_alone、data_parallel和hybrid_parallel不支持gradient_fp32_sync。默认值:True。
  149. - **parallel_mode** (str) - 有五种并行模式,分别是stand_alone、data_parallel、hybrid_parallel、semi_auto_parallel和auto_parallel。默认值:stand_alone。
  150. - stand_alone:单卡模式。
  151. - data_parallel:数据并行模式。
  152. - hybrid_parallel:手动实现数据并行和模型并行。
  153. - semi_auto_parallel:半自动并行模式。
  154. - auto_parallel:自动并行模式。
  155. - **search_mode** (str) - 表示有三种策略搜索模式,分别是recursive_programming,dynamic_programming和sharding_propagation。默认值:dynamic_programming。
  156. - recursive_programming:表示双递归搜索模式。
  157. - dynamic_programming:表示动态规划搜索模式。
  158. - sharding_propagation:表示从已配置算子的切分策略传播到所有算子。
  159. - **auto_parallel_search_mode** (str) - search_modes参数的兼容接口。将在后续的版本中删除。
  160. - **parameter_broadcast** (bool) - 表示在训练前是否广播参数。在训练之前,为了使所有设备的网络初始化参数值相同,请将设备0上的参数广播到其他设备。不同并行模式下的参数广播不同。在data_parallel模式下,除layerwise_parallel属性为True的参数外,所有参数都会被广播。在hybrid_parallel、semi_auto_parallel和auto_parallel模式下,分段参数不参与广播。默认值:False。
  161. - **strategy_ckpt_load_file** (str) - 表示用于加载并行策略checkpoint的路径。默认值:''。
  162. - **strategy_ckpt_save_file** (str) - 表示用于保存并行策略checkpoint的路径。默认值:''。
  163. - **full_batch** (bool) - 如果在auto_parallel模式下加载整个batch数据集,则此参数应设置为True。默认值:False。目前不建议使用该接口,建议使用dataset_strategy来替换它。
  164. - **dataset_strategy** (Union[str, tuple]) - 表示数据集分片策略。默认值:data_parallel。dataset_strategy="data_parallel"等于full_batch=False,dataset_strategy="full_batch"等于full_batch=True。对于通过模型并列策略加载到网络的数据集,如ds_stra ((1, 8)、(1, 8)),需要使用set_auto_parallel_context(dataset_strategy=ds_stra)。
  165. - **enable_parallel_optimizer** (bool) - 这是一个开发中的特性,它可以为数据并行训练对权重更新计算进行分片,以节省时间和内存。目前,自动和半自动并行模式支持Ascend和GPU中的所有优化器。数据并行模式仅支持Ascend中的 `Lamb` 和 `AdamWeightDecay` 。默认值:False。
  166. - **enable_alltoall** (bool) - 允许在通信期间生成 `AllToAll` 通信算子的开关。 如果其值为 False,则将由 `AllGather` 、 `Split` 和 `Concat` 等通信算子的组合来代替 `AllToAll` 。 默认值:False。
  167. - **all_reduce_fusion_config** (list) - 通过参数索引设置 AllReduce 融合策略。仅支持ReduceOp.SUM和HCCL_WORLD_GROUP/NCCL_WORLD_GROUP。没有默认值。如果不设置,则关闭算子融合。
  168. - **pipeline_stages** (int) - 设置pipeline并行的阶段信息。这表明了设备如何单独分布在pipeline上。所有的设备将被划分为pipeline_stags个阶段。目前,这只能在启动semi_auto_parallel模式的情况下使用。默认值:1。
  169. - **grad_accumulation_step** (int) - 在自动和半自动并行模式下设置梯度的累积step。其值应为正整数。默认值:1。
  170. - **parallel_optimizer_config** (dict) - 用于开启优化器并行后的行为配置。仅在enable_parallel_optimizer=True的时候生效。目前,它支持关键字如下的关键字:
  171. - gradient_accumulation_shard(bool):设置累积梯度变量是否在数据并行维度上进行切分。开启后,将进一步减小模型的显存占用,但是会在反向计算梯度时引入额外的通信算子(ReduceScatter)。此配置仅在流水线并行训练和梯度累积模式下生效。默认值:True。
  172. - parallel_optimizer_threshold(int):设置参数切分的阈值。占用内存小于该阈值的参数不做切分。占用内存大小 = shape[0] \* ... \* shape[n] \* size(dtype)。该阈值非负。单位: KB。默认值:64。
  173. - **comm_fusion** (dict) - 用于设置通信算子的融合配置。可以同一类型的通信算子按梯度张量的大小或者顺序分块传输。输入格式为{"通信类型": {"mode":str, "config": None int 或者 list}},每种通信算子的融合配置有两个键:"mode"和"config"。支持以下通信类型的融合类型和配置:
  174. - allreduce: 进行AllReduce算子的通信融合。"mode"包含:"auto"、"size"和"index"。在"auto"模式下,融合的是梯度变量的大小,默认值阈值为"64"MB,"config"对应的值为None。在"size"模式下,需要用户在config的字典中指定梯度大小阈值,这个值必须大于"0"MB。在"mode"为"index"时,它与"all_reduce_fusion_config"相同,用户需要给"config"传入一个列表,里面每个值表示梯度的索引。
  175. - allgather: 进行AllGather算子的通信融合。"mode"包含:"auto"、"size"。"auto" 和 "size"模式的配置方式与AllReduce相同。
  176. - reducescatter: 进行ReduceScatter算子的通信融合。"mode"包含:"auto"、"size"。"auto" 和 "size"模式的配置方式与AllReduce相同。
  177. **异常:**
  178. **ValueError**:输入key不是自动并行上下文中的属性。
  179. .. py:function:: mindspore.context.get_auto_parallel_context(attr_key)
  180. 根据key获取自动并行的配置。
  181. **参数:**
  182. - **attr_key** (str) - 配置的key。
  183. **返回:**
  184. 根据key返回配置的值。
  185. **异常:**
  186. **ValueError**:输入key不在自动并行的配置列表中。
  187. .. py:function:: mindspore.context.reset_auto_parallel_context()
  188. 重置自动并行的配置为默认值。
  189. - device_num:1。
  190. - global_rank:0。
  191. - gradients_mean:False。
  192. - gradient_fp32_sync:True。
  193. - parallel_mode:'stand_alone'。
  194. - auto_parallel_search_mode:'dynamic_programming'。
  195. - parameter_broadcast:False。
  196. - strategy_ckpt_load_file:''。
  197. - strategy_ckpt_save_file:''。
  198. - full_batch:False。
  199. - enable_parallel_optimizer:False。
  200. - enable_alltoall: False。
  201. - pipeline_stages:1。
  202. .. py:class:: mindspore.context.ParallelMode
  203. 并行模式。
  204. 有五种并行模式,分别是STAND_ALONE、DATA_PARALLEL、HYBRID_PARALLEL、SEMI_AUTO_PARALLEL和AUTO_PARALLEL。默认值:STAND_ALONE。
  205. - STAND_ALONE:单卡模式。
  206. - DATA_PARALLEL:数据并行模式。
  207. - HYBRID_PARALLEL:手动实现数据并行和模型并行。
  208. - SEMI_AUTO_PARALLEL:半自动并行模式。
  209. - AUTO_PARALLEL:自动并行模式。
  210. .. py:function:: mindspore.context.set_ps_context(**kwargs)
  211. 设置参数服务器训练模式的上下文。
  212. .. note::
  213. 需要给参数服务器训练模式设置其他的环境变量。些环境变量如下所示:
  214. - MS_SERVER_NUM:表示参数服务器数量。
  215. - MS_WORKER_NUM:表示工作进程数量。
  216. - MS_SCHED_HOST:表示调度器IP地址。
  217. - MS_SCHED_PORT:表示调度器开启的监听端口。
  218. - MS_ROLE:表示进程角色,角色列表如下:
  219. - MS_SCHED:表示调度器。
  220. - MS_WORKER:表示工作进程。
  221. - MS_PSERVER/MS_SERVER:表示参数服务器。
  222. **参数:**
  223. - **enable_ps** (bool) - 表示是否启用参数服务器训练模式。只有在enable_ps设置为True后,环境变量才会生效。默认值:False。
  224. - **config_file_path** (string) - 配置文件路径,用于容灾恢复等, 目前参数服务器训练模式仅支持Server容灾。默认值:''。
  225. - **scheduler_manage_port** (int) - 调度器HTTP端口,对外开放用于接收和处理用户扩容/缩容等请求。默认值:11202。
  226. - **enable_ssl** (bool) - 设置是否打开SSL认证。默认值:True。
  227. - **client_password** (str) - 用于解密客户端证书密钥的密码。默认值:''。
  228. - **server_password** (str) - 用于解密服务端证书密钥的密码。默认值:''。
  229. **异常:**
  230. **ValueError**:输入key不是参数服务器训练模式上下文中的属性。
  231. .. py:function:: mindspore.context.get_ps_context(attr_key)
  232. 根据key获取参数服务器训练模式上下文中的属性值。
  233. **参数:**
  234. - **attr_key** (str) - 属性的key。
  235. - enable_ps (bool):表示是否启用参数服务器训练模式。默认值:False。
  236. - config_file_path (string):配置文件路径,用于容灾恢复等。默认值:''。
  237. - scheduler_manage_port (int):调度器HTTP端口,对外开放用于接收和处理用户扩容/缩容等请求。默认值:11202。
  238. - enable_ssl (bool):设置是否打开SSL认证。默认值:False。
  239. - client_password (str):用于解密客户端证书密钥的密码。默认值:''。
  240. - server_password (str):用于解密服务端证书密钥的密码。默认值:''。
  241. **返回:**
  242. 根据key返回属性值。
  243. **异常:**
  244. **ValueError** - 输入key不是参数服务器训练模式上下文中的属性。
  245. .. py:function:: mindspore.context.reset_ps_context()
  246. 将参数服务器训练模式上下文中的属性重置为默认值。各字段的含义及其默认值见'set_ps_context'接口。