Release Notes

1.8.0 Release Notes

主要特性和增强

FrontEnd

  • [BETA] 提供mindspore.Model.fit API,增加两种callback方法 mindspore.callback.EarlyStoppingmindspore.callback.ReduceLROnPlateau

  • [BETA] 自定义算子支持Julia算子。

  • [BETA] 自定义算子支持Hybrid DSL算子。

  • [STABLE] export()接口支持自定义加密算法导出模型,load()接口支持自定义解密算法导入模型。

  • [BETA] [动静统一] [易用性] 图编译支持常量类型设置可变(1.8版本支持tuple/list/dict)。

  • [BETA] [动静统一] 常量场景下控制流内支持JIT Fallback功能。

  • [STABLE] [动静统一] 支持图模式常量场景下Python raise语句。

  • [STABLE] [动静统一] 支持图模式常量场景下Python assert语句。

  • [STABLE] [动静统一] 支持图模式常量场景下Python print语句。

  • [STABLE] [动静统一] 支持图模式str.format()方法。

  • [STABLE] [动静统一] 支持图模式用slice方法对list赋值。

  • [STABLE] [动静统一] 图模式支持创建和调用自定义类的实例。

  • [STABLE] [动静统一] 支持从Cell数组/自定义类数组中获取类的属性。

  • [STABLE] [动静统一] 图模式下isinstance支持场景扩展。

  • [STABLE] 自定义算子修饰符’ms_hybrid’重名为’ms_kernel’。

  • [BETA] 自定义算子Hybrid DSL支持CPU后端。

  • [BETA] 自定义算子昇腾后端新增自定义调度原语语法支持。

PyNative

  • [STABLE] 实现AdamWeightDecay算子,替代原有小算子组合方式。

  • [STABLE] 动态图下使用动静结合的方式执行优化器。

  • [STABLE] 优化PyNative反向图和ms_function的执行性能。

Auto Parallel

  • [STABLE] 对接AllToAll单算子模式。在KernelByKernel的执行模式下,支持AllToAll算子调用。

  • [STABLE] 整图下沉支持MPI启动。整图下沉的模式下,支持使用MPI的方式启动。

  • [STABLE] 模型权重的Seed提供并行接口配置。在用户不通过mindspore.set_seed设置随机数种子时,每个参数初始化的随机数种子为当前分片索引决定。当配置随机数种子之后,相同shape以及相同切分策略的权重,其初始化的结果一致。

  • [STABLE] HCCL屏蔽内部全连接/非全连接。允许一次训练过程中同时有全连接AllToAllv和分级AllToAllv。

  • [BETA] CPU优化器融合。通过优化器跨参数融合,将多个优化器算子按数据类型融合成,带来性能提升。目前已在CPU AdamWeightDecay优化器上做过验证。用户可以通过网络cell类中的flatten_weights方法启用该功能。

Executor

  • [STABLE] 开放南向芯片对接接口。

  • [STABLE] 使用多Actor融合执行提升运行时的执行性能。

  • [STABLE] NopOp算子(eg. Reshape)执行消除。

  • [STABLE] Embedding Cache架构切换统一分布式运行时。

  • [STABLE] Parameter Server训练切换统一分布式运行时。

  • [STABLE] 支持CPU Parameter Server模式训练。

DataSet

  • [STABLE] 对于数据集对象使用map操作时,同时num_parallel_workers>1并且python_multiprocessing=True时,进行了多进程的机制优化,使得数据通道与子进程一一映射,避免了过多的文件句柄占用,同时close_pool这个接口也被删除。

  • [STABLE] 新增一批Vision、Text和Audio类数据增强操作。

  • [STABLE] 修复数据集类的flat_map方法未将结果展平的错误。

  • [STABLE] 统一数据集增强API的导入路径,提供更简单的使用方法,请参阅最新的API用法

API变更

算子

  • [STABLE] ops.adaptive_avg_pool2d 新增GPU支持。

  • [BETA] ops.adaptive_max_pool2d 新增Ascend、GPU、CPU支持。

  • [BETA] ops.approximate_equal 新增CPU支持。

  • [STABLE] ops.argmin 新增CPU支持。

  • [BETA] ops.assign_sub 新增CPU支持。

  • [STABLE] ops.bernoulli 新增GPU支持。

  • [BETA] ops.bessel_i0 新增CPU支持。

  • [BETA] ops.bessel_i0e 新增CPU支持。

  • [BETA] ops.bessel_i1 新增CPU支持。

  • [BETA] ops.bessel_i1e 新增CPU支持。

  • [STABLE] ops.bessel_j0 新增CPU支持。

  • [STABLE] ops.bessel_j1 新增CPU支持。

  • [STABLE] ops.bessel_k0 新增CPU支持。

  • [STABLE] ops.bessel_k0e 新增CPU支持。

  • [BETA] ops.bessel_k1 新增CPU支持。

  • [BETA] ops.bessel_k1e 新增CPU支持。

  • [STABLE] ops.bessel_y0 新增CPU支持。

  • [STABLE] ops.bessel_y1 新增CPU支持。

  • [STABLE] ops.bitwise_and 新增CPU支持。

  • [STABLE] ops.bitwise_or 新增CPU支持。

  • [STABLE] ops.bitwise_xor 新增CPU支持。

  • [STABLE] ops.broadcast_to 新增functional接口。

  • [BETA] ops.ceil 新增GPU、CPU支持。

  • [BETA] ops.col2im 新增GPU支持。

  • [BETA] ops.concat 新增functional接口。

  • [STABLE] ops.cosh 新增GPU支持。

  • [STABLE] ops.ctc_greedy_decoder 新增Ascend、CPU支持。

  • [BETA] ops.DataFormatDimMap 新增GPU、CPU支持。

  • [BETA] ops.dropout2d 新增GPU、CPU支持。

  • [BETA] ops.dropout3d 新增CPU支持。

  • [BETA] ops.erf 新增CPU支持。

  • [BETA] ops.erfc 新增CPU支持。

  • [STABLE] ops.expand_dims 新增functional接口。

  • [STABLE] ops.fast_gelu 新增GPU、CPU支持。

  • [STABLE] ops.flatten Ascend动态shape支持。

  • [BETA] ops.ger 新增GPU、CPU支持。

  • [STABLE] ops.gumbel_softmax 新增Ascend、GPU、CPU支持。

  • [BETA] ops.hardshrink 新增GPU、CPU支持。

  • [BETA] ops.index_add 新增CPU支持。

  • [BETA] ops.inplace_add 新增CPU支持。

  • [BETA] ops.inplace_sub 新增CPU支持。

  • [STABLE] ops.intopk 新增CPU支持。

  • [STABLE] ops.inv 新增GPU、CPU支持。

  • [STABLE] ops.invert 新增GPU、CPU支持。

  • [BETA] ops.isclose 新增CPU支持。

  • [STABLE] ops.lerp 新增CPU支持。

  • [BETA] ops.linspace 新增CPU支持。

  • [BETA] ops.log_softmax 新增functional接口。

  • [BETA] ops.norm 新增Ascend、GPU、CPU支持。

  • [BETA] ops.lrn 新增CPU支持。

  • [BETA] ops.masked_select 新增GPU支持。

  • [BETA] ops.matrix_band_part 新增GPU、CPU支持。

  • [BETA] ops.matrix_solve 新增GPU、CPU支持。

  • [BETA] ops.meshgrid 新增CPU支持。

  • [STABLE] ops.mish 新增CPU支持。

  • [BETA] ops.nonzero 新增GPU支持。

  • [STABLE] ops.padding 新增GPU、CPU支持。

  • [BETA] ops.pow 新增Ascend动态shape支持。

  • [BETA] ops.range 新增functional接口。

  • [BETA] ops.round 新增Ascend动态shape支持。

  • [STABLE] ops.scatter_add 新增Ascend动态shape支持。

  • [STABLE] ops.scatter_div 新增Ascend动态shape支持。

  • [BETA] ops.scatter_max 新增GPU支持。

  • [BETA] ops.scatter_min 新增GPU支持。

  • [BETA] ops.scatter_nd_add 新增CPU支持。

  • [STABLE] ops.scatter_nd_div 新增GPU、CPU支持。

  • [STABLE] ops.scatter_nd_min 新增GPU、CPU支持。

  • [STABLE] ops.scatter_nd_mul 新增GPU、CPU支持。

  • [BETA] ops.scatter_nd_sub 新增CPU支持。

  • [STABLE] ops.scatter_update 新增Ascend动态shape支持。

  • [BETA] ops.select 新增Ascend动态shape支持。

  • [BETA] ops.selu 新增GPU、CPU支持。

  • [BETA] ops.soft_shrink 新增GPU、CPU支持。

  • [BETA] ops.softsign 新增CPU支持。

  • [STABLE] ops.tan 新增GPU支持。

  • [BETA] ops.tensor_scatter_add 新增Ascend、CPU支持。

  • [STABLE] ops.tensor_scatter_div 新增GPU、CPU支持。

  • [STABLE] ops.tensor_scatter_mul 新增GPU、CPU支持。

  • [BETA] ops.tensor_scatter_sub 新增Ascend、CPU支持。

  • [STABLE] nn.AdaptiveAvgPool1d 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.AdaptiveMaxPool1d 新增Ascend、GPU、CPU支持。

  • [BETA] nn.BiDense 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.ConstantPad1d 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.ConstantPad2d 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.ConstantPad3d 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.Hardtanh 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.HuberLoss 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.RReLU 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.Tanhshrink 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.Threshold 新增Ascend、GPU、CPU支持。

  • [STABLE] nn.ZeroPad2d 新增Ascend、GPU、CPU支持。

  • [BETA] ops.unique_consecutive 新增GPU支持。

  • [STABLE] ops.unsorted_segment_max 新增CPU支持。

  • [STABLE] ops.unsorted_segment_min 新增CPU支持。

  • [STABLE] ops.unsorted_segment_prod 新增GPU支持。

非兼容性变更

Python API
  • 不再支持DVPP模拟算法,删除 mindspore.dataset.vision.c_transforms.SoftDvppDecodeRandomCropResizeJpegmindspore.dataset.vision.c_transforms.SoftDvppDecodeResizeJpeg 接口。

  • LossMonitor中增加on_train_epoch_end 方法,实现在 mindspore.Model.fit 中使用时,打印epoch级别的metric信息。

  • TimeMonitor打印内容变更,打印内容加入”train”或”eval”用于区分训练和推理阶段。

  • load_checkpoint 接口的filter_prefix:不再支持空字符串(“”),匹配规则由强匹配修改为模糊匹配。

import优化

mindspore.context、mindspore.parallel、mindspore.profiler、mindspore.train模块的接口可直接在mindspore模块使用。原有用法仍可以继续支持。

例如:

-mindspore.context.set_context可简化为mindspore.set_context。 -mindspore.parallel.set_algo_parameters可简化为mindspore.set_algo_parameters。 -mindspore.profiler.Profiler可简化为mindspore.Profiler。 -mindspore.train.callback.Callback可简化为mindspore.Callback

API页面统一汇总至:https://www.mindspore.cn/docs/zh-CN/r1.8/api_python/mindspore.html