remove raise error when batch rank is zero and lr shape is one
This commit is contained in:
parent
9c307650c5
commit
cfc64f92f9
|
@ -4,7 +4,7 @@ mindspore.set_auto_parallel_context
|
|||
|
||||
.. py:function:: mindspore.set_auto_parallel_context(**kwargs)
|
||||
|
||||
配置自动并行,仅在Ascend和GPU上有效。
|
||||
配置自动并行,当前CPU仅支持数据并行。
|
||||
|
||||
应在mindspore.communication.init之前配置自动并行。
|
||||
|
||||
|
|
|
@ -66,6 +66,8 @@ mindspore.set_context
|
|||
| | compile_cache_path | CPU/GPU/Ascend |
|
||||
| +------------------------------+----------------------------+
|
||||
| | disable_format_transform | GPU |
|
||||
| +------------------------------+----------------------------+
|
||||
| | support_binary | CPU/GPU/Ascend |
|
||||
+-------------------------+------------------------------+----------------------------+
|
||||
|
||||
参数:
|
||||
|
@ -129,8 +131,9 @@ mindspore.set_context
|
|||
- **grad_for_scalar** (bool) - 表示是否获取标量梯度。默认值:False。当 `grad_for_scalar` 设置为True时,则可以导出函数的标量输入。由于后端目前不支持伸缩操作,所以该接口只支持在前端可推演的简单操作。
|
||||
- **enable_compile_cache** (bool) - 表示是否加载或者保存前端编译的图。当 `enable_compile_cache` 被设置为True时,在第一次执行的过程中,一个硬件无关的编译缓存会被生成并且导出为一个MINDIR文件。当该网络被再次执行时,如果 `enable_compile_cache` 仍然为True并且网络脚本没有被更改,那么这个编译缓存会被加载。注意目前只支持有限的Python脚本更改的自动检测,这意味着可能有正确性风险。默认值:False。这是一个实验特性,可能会被更改或者删除。
|
||||
- **compile_cache_path** (str) - 保存前端图编译缓存的路径。默认值:"."。如果目录不存在,系统会自动创建这个目录。缓存会被保存到如下目录: `compile_cache_path/rank_${rank_id}/` 。 `rank_id` 是集群上当前设备的ID。
|
||||
- **runtime_num_threads** (int) - 运行时线程池的线程数控制。默认值为30。
|
||||
- **runtime_num_threads** (int) - 运行时actor和CPU算子核使用的线程池线程数,必须大于0。默认值为30,如果同时运行多个进程,应将该值设置得小一些,以避免线程争用。
|
||||
- **disable_format_transform** (bool) - 表示是否取消NCHW到NHWC的自动格式转换功能。当fp16的网络性能不如fp32的时,可以设置 `disable_format_transform` 为True,以尝试提高训练性能。默认值:False。
|
||||
- **support_binary** (bool) - 是否支持在图形模式下运行.pyc或.so。如果要支持在图形模式下运行.so或.pyc,可将`support_binary`置为True,并运行一次.py文件,从而将接口源码保存到接口定义.py文件中,因此要保证该文件可写。然后将.py文件编译成.pyc或.so文件,即可在图模式下运行。
|
||||
|
||||
异常:
|
||||
- **ValueError** - 输入key不是上下文中的属性。
|
||||
|
|
|
@ -145,7 +145,7 @@ int RMSPropCpuKernelMod::CalElements(std::vector<int64_t> var_shape, std::vector
|
|||
<< " and 'batch_rank': " << batch_rank_;
|
||||
return KRET_RESIZE_FAILED;
|
||||
}
|
||||
if (batch_rank_ < 0 || lr_shape.size() != LongToSize(batch_rank_)) {
|
||||
if (batch_rank_ < 0 || (batch_rank_ > 0 && lr_shape.size() != LongToSize(batch_rank_))) {
|
||||
MS_LOG(ERROR) << "For '" << kernel_name_
|
||||
<< "', the shape size of 'lr' must be equal to 'batch_rank', "
|
||||
"but got the shape of 'lr': "
|
||||
|
|
|
@ -131,8 +131,8 @@ int BatchNormGradGradGpuKernelMod::Resize(const BaseOperatorPtr &base_operator,
|
|||
<< Vector2Str(std::vector<int64_t>{c}) << ", but got scale shape: " << Vector2Str(scale_shape)
|
||||
<< ", mean shape: " << Vector2Str(mean_shape)
|
||||
<< ", variance shape: " << Vector2Str(variance_shape)
|
||||
<< ", dout_dsacle shape: " << Vector2Str(dout_dscale_shape) << ", dout_dbias shape"
|
||||
<< Vector2Str(dout_dbias_shape);
|
||||
<< ", dout_dsacle shape: " << Vector2Str(dout_dscale_shape)
|
||||
<< ", dout_dbias shape: " << Vector2Str(dout_dbias_shape);
|
||||
}
|
||||
|
||||
if (x_shape.size() == kDim2) {
|
||||
|
|
|
@ -443,7 +443,7 @@ def _context():
|
|||
parallel_optimizer_config=dict, comm_fusion=dict)
|
||||
def set_auto_parallel_context(**kwargs):
|
||||
r"""
|
||||
Set auto parallel context, which is valid only for Ascend and GPU target.
|
||||
Set auto parallel context, only data parallel supported on CPU.
|
||||
|
||||
Auto parallel context should be configured before the initialization of your network.
|
||||
|
||||
|
|
Loading…
Reference in New Issue