• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# MindSpore Release Notes
2
3[View English](./RELEASE.md)
4
5## MindSpore 2.3.0 Release Notes
6
7### 主要特性及增强
8
9#### AutoParallel
10
11- [STABLE] 扩展函数式并行能力,[mindspore.shard](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.shard.html)新增支持图模式,图模式下以nn.Cell/function为单位设置输入与权重的并行切分策略,未设置的算子将通过"sharding_propagation"自动配置并行策略;增加支持手动重排布的[mindspore.reshard](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.reshard.html)接口,通过[mindspore.Layout](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.Layout.html)对张量设置精准切分策略。
12- [STABLE] 新增Callback接口[mindspore.train.FlopsUtilizationCollector](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/train/mindspore.train.FlopsUtilizationCollector.html)统计模型算力利用率信息MFU和硬件算力利用率信息HFU 。
13- [STABLE] 新增函数式通信接口[mindspore.communication.comm_func](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore.communication.comm_func.html)14- [BETA] O0和O1模式下,优化interleaved pipeline的内存占用。
15- [BETA] 自动并行模式下支持多机场景自动流水线策略生成(暂不支持单机场景自动流水线策略生成),需要将 `parallel_mode` 设置成自动并行 ``auto_parallel`` 并将 `search_mode` 设置成双递归算法 ``recursive_programming``。
16
17#### PyNative
18
19- [STABLE] 优化动态图的基础数据结构,提升算子API性能。
20- [STABLE] Tensor支持[register_hook](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/Tensor/mindspore.Tensor.register_hook.html)功能,以便用户打印或者修改Tensor对应的梯度。
21- [STABLE] PyNativ模式支持重计算功能,用户可以通过重计算接口降低网络的显存峰值。
22
23#### FrontEnd
24
25- [STABLE] 优化Checkpoint保存、加载基础流程,提升性能20%。
26- [STABLE] 支持在保存、加载过程中对Checkpoint文件进行CRC校验,提升安全性。
27
28#### Dataset
29
30- [STABLE] 为以下数据增强增加昇腾处理后端支持:Equalize、Rotate、AutoContrast、Posterize、AdjustSharpness、Invert、Solarize、ConvertColor、Erase。
31- [STABLE] 增加视频文件读取、解析功能支持,详见API:[mindspore.dataset.vision.DecodeVideo](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/dataset_vision/mindspore.dataset.vision.DecodeVideo.html)、[mindspore.dataset.vision.read_video](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/dataset_vision/mindspore.dataset.vision.read_video.html#mindspore.dataset.vision.read_video)、[mindspore.dataset.vision.read_video_timestamps](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/dataset_vision/mindspore.dataset.vision.read_video_timestamps.html#mindspore.dataset.vision.read_video_timestamps)32- [STABLE] 支持在 `mindspore.dataset.GeneratorDataset`、`mindspore.dataset.Dataset.map` 及 `mindspore.dataset.Dataset.batch` 接口中指定 `max_rowsize` 参数为-1,此时数据多进程所使用的共享内存将随数据大小动态分配并高效运行,无需手动调参。
33
34#### Inference
35
36- [STABLE] 新增LLaMa2、LLaMa3、Qwen1.5等14个大模型支持训推一体架构,实现脚本、分布式策略和运行时的统一,典型大模型训练到推理部署周期下降到天级,通过融合大算子降低推理时延,有效提升网络吞吐量。
37
38#### PIJIT
39
40- [BETA] 支持Python 3.8和Python 3.10的字节码解析,扩大Python版本的支持范围。
41- [BETA] 支持Dynamic Shape、Symbolic Shape作为输入,使能动态输入场景。
42- [BETA] 使能单步构图能力,优化编译时间。
43- [BETA] 通过调整字节码支持了带有副作用的字节码被捕获(STORE_ATTR、STORE_GLOBAL、LIST_APPEND、dict.pop),使能自动混合精度,减少裂图,提升性能。
44
45#### Profiler
46
47- [STABLE] 提供分级Profiler功能,通过profiler_level参数可控制按照不同级别进行性能数据采集。
48- [STABLE] Profiler analyse方法新增mode参数,可配置异步解析模式,性能数据解析与训练并行。
49- [STABLE] Profiler接口新增data_simplification参数,用户可控制性能数据解析完成后是否删除多余数据,节省硬盘空间。
50- [STABLE] Profiler接口增强内存分析功能,用户通过profile_memory参数可采集框架、CANN、硬件的内存申请、释放信息,并可通过[MindStudio工具](https://www.hiascend.com/forum/thread-0230130822583032044-1-1.html)进行可视化分析。
51- [BETA] PyNative模式下Timeline整合host profiling信息,包括任务耗时、用户侧堆栈信息。
52
53#### Dump
54
55- [STABLE] 增强同步和异步Dump功能,统计信息Dump新增L2Norm信息、新增statistic_category字段支持用户自定义需要保存的统计信息,提高Dump易用性。同步和异步Dump支持情况可参考[Dump功能说明](https://www.mindspore.cn/tutorials/experts/zh-CN/r2.3.0/debug/dump.html#dump功能说明)。
56- [STABLE] 完善同步Dump功能,通过配置op_debug_mode字段使能溢出和异常Dump。
57- [STABLE] 增强同步Dump功能,通过配置stat_calc_mode字段可以使能device计算统计信息(默认在host计算),通过配置sample_mode字段可以进行采样Dump,提升Dump性能。
58- [STABLE] 增强异步Dump功能,支持保存complex64和complex128格式。
59
60#### Runtime
61
62- [STABLE] 支持静态图多级编译,配置为[mindspore.set_context(jit_config={"jit_level": "O0/O1/O2"})](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore/mindspore.set_context.html),默认值为空,框架根据产品类别自动选择优化级别,Altas训练产品为O2,其余产品均为O0。
63- [STABLE] 静态图O0/O1下支持通信计算多流并发执行。
64- [STABLE] 新增[内存管理接口](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore.hal.html#内存管理)。
65- [BETA] 内存池支持虚拟内存碎片整理,在静态图O0/O1下默认使能虚拟内存。
66
67#### Ascend
68
69- [STABLE] 提供昇腾平台上算子内存越界访问检测开关,用户可以通过设置 `mindspore.set_context(ascend_config={"op_debug_option": "oom"})`来检测昇腾平台上算子内部内存越界问题。
70- [BETA] 环境变量[MS_SIMULATION_LEVEL](https://www.mindspore.cn/docs/zh-CN/r2.3.0/note/env_var_list.html)在昇腾平台上新增支持图编译O0执行模式,并可支持编译性能和运行时内存分析。
71- [BETA] 昇腾平台支持通过AOT接入使用[AscendC自定义算子](https://www.mindspore.cn/tutorials/experts/zh-CN/r2.3.0/operation/op_custom_ascendc.html)72
73### API变更
74
75#### 新增API
76
77- [STABLE] 新增[mindspore.mint](https://www.mindspore.cn/docs/zh-CN/r2.3.0/api_python/mindspore.mint.html)API,提供了大量的functional、nn、优化器接口,API用法及功能等与业界主流用法一致,方便用户参考使用。mint接口当前是实验性接口,在图编译模式为O0和PyNative模式下性能比ops更优。当前暂不支持图下沉模式及CPU、GPU后端,后续会逐步完善。
78
79  | mindspore.mint  |  |   | |
80  |:----|:----|:----|:----|
81  | mindspore.mint.eye |mindspore.mint.rand_like|mindspore.mint.isfinite|mindspore.mint.any|
82  | mindspore.mint.ones |mindspore.mint.rand|mindspore.mint.log|mindspore.mint.greater_equal|
83  | mindspore.mint.ones_like |mindspore.mint.gather|mindspore.mint.logical_and|mindspore.mint.all|
84  | mindspore.mint.zeros |mindspore.mint.permute|mindspore.mint.logical_not|mindspore.mint.mean|
85  | mindspore.mint.zeros_like |mindspore.mint.repeat_interleave|mindspore.mint.logical_or|mindspore.mint.prod|
86  | mindspore.mint.arange |mindspore.mint.abs|mindspore.mint.mul|mindspore.mint.sum|
87  | mindspore.mint.broadcast_to |mindspore.mint.add|mindspore.mint.neg|mindspore.mint.eq|
88  | mindspore.mint.cat |mindspore.mint.clamp|mindspore.mint.negative|mindspore.mint.ne|
89  | mindspore.mint.index_select |mindspore.mint.cumsum|mindspore.mint.pow|mindspore.mint.greater|
90  | mindspore.mint.max |mindspore.mint.atan2|mindspore.mint.reciprocal|mindspore.mint.gt|
91  | mindspore.mint.min |mindspore.mint.arctan2|mindspore.mint.rsqrt|mindspore.mint.isclose|
92  | mindspore.mint.scatter_add |mindspore.mint.ceil|mindspore.mint.sigmoid|mindspore.mint.le|
93  | mindspore.mint.narrow |mindspore.mint.unique|mindspore.mint.sin|mindspore.mint.less_equal|
94  | mindspore.mint.nonzero |mindspore.mint.div|mindspore.mint.sqrt|mindspore.mint.lt|
95  | mindspore.mint.normal |mindspore.mint.divide|mindspore.mint.square|mindspore.mint.maximum|
96  | mindspore.mint.tile |mindspore.mint.erf|mindspore.mint.sub|mindspore.mint.minimum|
97  | mindspore.mint.topk |mindspore.mint.erfinv|mindspore.mint.tanh|mindspore.mint.inverse|
98  | mindspore.mint.sort |mindspore.mint.exp|mindspore.mint.bmm|mindspore.mint.searchsorted|
99  | mindspore.mint.stack |mindspore.mint.floor|mindspore.mint.matmul|mindspore.mint.argmax|
100  | mindspore.mint.where |mindspore.mint.flip|mindspore.mint.split|mindspore.mint.cos|
101  | mindspore.mint.less |||
102
103  | mindspore.mint.nn|
104  |:----|
105  | mindspore.mint.nn.Dropout  |
106  | mindspore.mint.nn.Unfold |
107  | mindspore.mint.nn.Fold |
108  | mindspore.mint.nn.Linear|
109  | mindspore.mint.nn.BCEWithLogitsLoss |
110
111  | mindspore.mint.nn.functional||
112  |:----|:----|
113  |mindspore.mint.nn.functional.batch_norm |mindspore.mint.nn.functional.group_norm|
114  |mindspore.mint.nn.functional.fold |mindspore.mint.nn.functional.layer_norm|
115  |mindspore.mint.nn.functional.max_pool2d |mindspore.mint.nn.functional.linear|
116  |mindspore.mint.nn.functional.binary_cross_entropy |mindspore.mint.nn.functional.unfold|
117  |mindspore.mint.nn.functional.sigmoid |mindspore.mint.nn.functional.one_hot|
118  |mindspore.mint.nn.functional.tanh |mindspore.mint.nn.functional.elu|
119  |mindspore.mint.nn.functional.binary_cross_entropy_with_logits |mindspore.mint.nn.functional.gelu|
120  |mindspore.mint.nn.functional.dropout|mindspore.mint.nn.functional.leaky_relu|
121  |mindspore.mint.nn.functional.embedding  |mindspore.mint.nn.functional.silu|
122  |mindspore.mint.nn.functional.grid_sample|mindspore.mint.nn.functional.softplus|
123  |mindspore.mint.nn.functional.relu|mindspore.mint.nn.functional.softmax|
124  |mindspore.mint.nn.functional.pad||
125
126  | mindspore.mint.optim |
127  |:----|
128  | mindspore.mint.optim.AdamW |
129
130  | mindspore.mint.linalg |
131  |:----|
132  | mindspore.mint.linalg.inv |
133
134### 非兼容性接口变更
135
136- 接口名称:性能数据采集接口 `Profiler`
137
138  变更内容:解析生成的性能数据文件进行了精简,将在导出性能数据后删除FRAMEWORK目录数据以及其他多余数据,仅保留profiler的交付件以及PROF_XXX目录下的原始性能数据,以节省空间。通过将 `data_simplification`参数配置为 `False`可关闭精简模式,与历史版本生成的性能数据文件保持一致。
139- 接口名称:Dump功能配置文件中的 `saved_data` 字段为 `"tensor"`。
140
141  变更内容:Dump落盘的文件名发生变更,`"/"`用 `"_"`代替,算子名称变为算子全局名称。
142
143  <table>
144  <tr>
145  <td style="text-align:center"> 原文件名 </td> <td style="text-align:center"> 2.3文件名 </td>
146  </tr>
147  <tr>
148  <td><pre>
149  文件名格式:
150  {op_type}.{op_name}.{task_id}.{stream_id}.
151  {timestamp}.{input_output_index}.{slot}.{format}.npy
152  </br>
153  示例:
154  Conv2D.Conv2D-op12.0.0.1623124369613540.
155  output.0.DefaultFormat.npy
156  </pre>
157  </td>
158  <td><pre>
159  文件名格式:
160  {op_type}.{op_name}.{task_id}.{stream_id}.
161  {timestamp}.{input_output_index}.{slot}.{format}.npy
162  </br>
163  示例:
164  Conv2D.Default_network-WithLossCell__backbone-AlexNet_conv3
165  -Conv2d_Conv2D-op12.0.0.1623124369613540.output.0.DefaultFormat.npy
166  </pre>
167  </td>
168  </tr>
169  </table>
170- 接口名称:Dump功能配置文件中的 `saved_data`字段为 `"statistic"`。
171
172  变更内容:原默认保存 `"max"`、`"min"`、`"avg"`、`"count"`、`"negative zero count"`、`"positive zero count"`、`"nan count"`、`"negative inf count"`、`"positive inf count"`、`"zero count"`、`md5`统计项,2.3变更为默认保存 `"max"`、`"min"`、`"l2norm"`统计项,可以通过配置 `statistic_category`自定义统计项。
173
174### 贡献者
175
176caifubi;candanzg;ccsszz;chaiyouheng;changzherui;chenfei_mindspore;chengbin;chengfeng27;Chong;dairenjie;DavidFFFan;DeshiChen;dingjinshan;douzhixing;emmmmtang;Erpim;fary86;fengyixing;fuhouyu;gaoyong10;GuoZhibin;guozhijian;halo;haozhang;hejianheng;Henry Shi;horcham;huandong1;huangbingjian;Jackson_Wong;jiangchenglin3;jiangshanfeng;jiangzhenguang;jiaorui;bantao;jiaxueyu;jijiarong;JuiceZ;jxl;kairui_kou;lanzhineng;LiangZhibo;lichen;limingqi107;linqingke;liubuyu;liujunzhu;liuluobin;liyan2022;liyejun;LLLRT;looop5;lujiale;luochao60;luoyang;lvxudong;machenggui;maning202007;Margaret_wangrui;master_2;mengyuanli;moran;Mrtutu;NaCN;nomindcarry;panzhihui;pengqi;qiuyufeng;qiuzhongya;Renyuan Zhang;shaoshengqi;Shawny;shen_haochen;shenhaojing;shenwei41;shij1anhan;shilishan;shiziyang;shunyuanhan;shuqian0;TAJh;tanghuikang;tan-wei-cheng;Thibaut;tianxiaodong;TronZhang;TuDouNi;VectorSL;wang_ziqi;wanghenchang;wangjie;weiyang;wudawei;wujiangming;wujueying;XianglongZeng;xiaotianci;xiaoxin_zhang;xiaoxiongzhu;xiaoyao;XinDu;xuxinglei;yangchen;yanghaoran;yanglong;yangruoqi713;yangzhenzhang;yangzishuo;Yanzhi_YI;yao_yf;yefeng;yide12;YijieChen;YingLai Lin;yuchaojie;YuJianfeng;zangqx;zhaiyukun;zhangminli;zhangqinghua;ZhangZGC;zhengxinQian;zhengzuohe;zhouyaqiang0;zhuguodong;zhupuxu;zichun_ye;zjun;zlq2020;ZPaC;zuochuanyong;zyli2020;阿琛;狄新凯;范吉斌;冯一航;胡彬;宦晓玲;黄勇;康伟;雷仪婧;李良灿;李林杰;刘崇鸣;刘力力;刘勇琪;刘子涵;吕浩宇;王禹程;熊攀;徐安越;徐永飞;俞涵;张王泽;张栩浩;郑裔;周莉莉;周先琪;朱家兴;邹文祥
177
178欢迎以任何形式对项目提供贡献!
179
180## MindSpore 2.3.0-rc2 Release Notes
181
182### 主要特性和增强
183
184#### AutoParallel
185
186- [STABLE] Transpose/Sub/Add/Mul/Div/ReLU/Softmax/Sigmoid算子支持配置Layout。
187- [STABLE] 集合通信精度会影响网络收敛,在接口mindspore.set_auto_parallel_context提供配置项[force_fp32_communication](https://www.mindspore.cn/docs/zh-CN/r2.3.0rc2/api_python/mindspore/mindspore.set_auto_parallel_context.html),设为True时可以强制将reduce类通信算子的通信类型转为float32。
188- [BETA] pipeline并行支持Interleave调度,优化micro batch大小受限场景下的模型性能。
189- [BETA] 优化pipeline并行场景下提高模型转换速度,支持单个stage单独转换。
190
191#### PyNative
192
193- [BETA] 动态图下支持[重计算](https://www.mindspore.cn/docs/zh-CN/r2.3.0rc2/api_python/mindspore/mindspore.recompute.html)功能。
194- [STABLE] 动态图下支持[register_hook](https://www.mindspore.cn/docs/zh-CN/r2.3.0rc2/api_python/mindspore/Tensor/mindspore.Tensor.register_hook.html#mindspore.Tensor.register_hook)功能。
195
196### API变更
197
198增加[动态组网](https://www.mindspore.cn/tutorials/experts/zh-CN/r2.3.0rc2/parallel/dynamic_cluster.html)场景下各类超时时间环境变量配置:
199
200- `MS_TOPO_TIMEOUT`: 集群组网阶段超时时间,单位:秒。
201- `MS_NODE_TIMEOUT`:节点心跳超时时间,单位:秒。
202- `MS_RECEIVE_MSG_TIMEOUT`:节点接收消息超时时间,单位:秒。
203
204新增环境变量 `MS_ENABLE_LCCL`,支持昇腾后端单机多卡场景下使用LCCL通信库。
205
206### 问题修复
207
208- [#I9CR96](https://gitee.com/mindspore/mindspore/issues/I9CR96) 修复在大规模集群下,动态组网启动方式的超时时间不足导致集群启动失败的问题。
209- [#I94AQQ](https://gitee.com/mindspore/mindspore/issues/I94AQQ) 修复ops.Addcdiv算子在图模式下输出shape有误问题。
210
211### 贡献者
212
213感谢以下人员做出的贡献:
214
215bantao,caifubi,changzherui,chenfei_mindspore,chenweifeng,dairenjie,dingjinshan,fangzehua,fanyi20,fary86,GuoZhibin,hanhuifeng,haozhang,hedongdong,Henry Shi,huandong1,huangbingjian,huoxinyou,jiangchenglin3,jiangshanfeng,jiaorui,jiaxueyu,jxl,kairui_kou,lichen,limingqi107,liuluobin,LLLRT,looop5,luochao60,luojianing,maning202007,NaCN,niyuxin94520,nomindcarry,shiziyang,tanghuikang,TronZhang,TuDouNi,VectorSL,wang_ziqi,wanghenchang,wudawei,XianglongZeng,xiaoxiongzhu,xiaoyao,yanghaoran,Yanzhi_YI,yao_yf,yide12,YijieChen,YingLai Lin,yuchaojie,YuJianfeng,zangqx,zhanghanLeo,ZhangZGC,zhengzuohe,zhouyaqiang0,zichun_ye,zjun,ZPaC,zyli2020,冯一航,李林杰,刘力力,王禹程,俞涵,张栩浩,朱家兴,邹文祥
216
217欢迎以任何形式对项目提供贡献!
218
219## MindSpore Lite 2.3.0-rc2 Release Notes
220
221### 主要特性和增强
222
223- [STABLE] 支持云侧转换工具所用的配置文件配置FlashAttention相关属性。
224- [STABLE] 支持在多张卡上进行内存共享。
225
226### 贡献者
227
228感谢以下人员做出的贡献:
229
230emmmmtang,熊攀
231
232欢迎以任何形式对项目提供贡献!
233
234## MindSpore 2.3.0-rc1 Release Notes
235
236### 主要特性及增强
237
238#### DataSet
239
240- [STABLE] MindRecord模块增加完整性校验、加解密功能,以此保护用户数据的完整性与安全性。
241- [STABLE] MindRecord接口变更:废弃FileWriter.open_and_set_header接口,因为其功能已内置到FilterWriter类,若使用旧版本代码将报错,删除此调用即可;FileWriter增加写入数据类型校验,以确保Schema定义的数据类型与真实数据类型匹配;Mindrecord组件下所有类方法去除返回值,若处理出错以异常方式提示用户。
242- [STABLE] 为以下数据增强增加Ascend处理后端支持:ResizedCrop、HorizontalFlip、VerticalFlip、Perspective、Crop、Pad、GaussianBlur、Affine。
243- [STABLE] 优化了模型迁移场景中数据迁移部分的指南,提供更多与第三方库框架对比的例子。
244- [STABLE] 优化了TFRecordDataset在多数据列场景下解析效率,提升解析性能 20%。
245
246#### PIJIT
247
248- [BETA] PIJit通过对Python字节码进行分析&调整、执行流进行图捕获&图优化,支持的Python代码做静态图方式执行,不支持的进行子图切分以动态图方式执行,自动地做到动静统一。用户可以通过@jit(mode="PIJit", jit_config={options:value})对函数进行装饰来开启PIJit。
249
250#### Inference
251
252- [DEMO] 大模型推理升级训推一体架构,实现脚本、分布式策略和运行时的统一,典型大模型训练到推理部署周期下降到天级,通过融合大算子降低推理时延,有效提升网络吞吐量。
253
254#### AutoParallel
255
256- [STABLE] 新增msrun启动方式,支持单指令拉起分布式任务。
257- [STABLE] 添加RankTable启动方式即将废弃的提示。
258- [STABLE] 图模式下消除冗余常量,提升编译性能和内存开销。
259- [STABLE] 子图场景优化器并行首个子图inline,使得流水并行下的一些计算和通信掩盖可以进行。
260- [STABLE] 通信信息导出,编译期间导出模型通信信息(通信域、通信量),输入给集群作为通信调度的依据。
261- [STABLE] 流水线并行推理优化,去除共享权重在stage间转发,提升执行性能;支持流水线并行推理结果自动广播,提升自回归推理易用性。
262- [STABLE] 算子级并行切分支持配置MatMul/Add/LayerNorm/GeLU/BiasAdd算子的切分时的设备排布与张量排布的映射关系。
263- [STABLE] 支持数据并行维度的梯度通信与反向计算互相掩盖功能。
264- [STABLE] 单卡模拟编译,用于模拟多卡分布式训练中某张卡的编译流程,辅助分析前后端各编译流程和内存占用。
265- [STABLE] ops.Tril算子支持切分,从而降低对单个device的内存与性能需求。
266- [BETA] 支持通信算子和计算算子融合,掩盖通信开销,提升网络性能。
267- [BETA] 故障恢复时,checkpoint加载与编译并行从而减少故障恢复时间。
268
269#### Runtime
270
271- [BETA] 支持O0/O1/O2多级编译,提升静态图调试调优能力。
272
273#### FrontEnd
274
275- [STABLE] 框架新增对bfloat16数据类型的支持,创建Tensor时可以指定dtype=mindspore.bfloat16276- [STABLE] 完善rewrite组件的语法支持能力,新增支持对类变量、函数、控制流等语法的解析。
277- [STABLE] 新增context配置项:debug_level,用户可以使用mindspore.set_context(debug_level=mindspore.DEBUG)来获取更多调试信息。
278
279#### Profiler
280
281- [BETA] 动态启停profiling,用户可以根据训练情况实时采集profiling 数据,减少采集数据量。
282- [BETA] Profiling通信算子耗时矩阵,用户通过分析通信算子耗时矩阵,找出集群通信性能瓶颈。
283- [BETA] 提高昇腾环境解析Profiling数据的性能。
284- [BETA] 支持离线解析Profiling生成的数据,用户可以先采集数据,然后根据需要再解析数据。
285- [BETA] 支持采集HBM、PCIe、l2_cache性能数据,丰富性能分析指标。
286
287#### Dump
288
289- [BETA] Dump保存的统计信息记录MD5值,用户可以通过MD5值确定张量值的微小差异。
290- [BETA] Dump支持bfloat16数据类型,支撑用户定位bfloat16类型的算子精度问题。
291
292#### PyNative
293
294- [STABLE] 重构动态图下单算子调用流程,优化前端算子下发粒度,提升动态图性能。
295
296#### Ascend
297
298- [BETA] 支持用户设置CANN的options配置项,配置项分为global和session二类,用户可以通过mindspore.set_context(ascend_config={"ge_options": {"global": {"global_option": "option_value"}, "session": {"session_option": "option_value"}}})进行配置。
299
300#### API变更
301
302- 新增 mindspore.hal接口,开放流、事件以及设备管理能力。
303- 新增 mindspore.multiprocessing 接口,提供了创建多进程的能力。
304
305#### 算子
306
307- [BETA] mindspore.ops.TopK当前支持第二个输入k为Int32类型的张量。
308
309### 问题修复
310
311- [#I92H93] 修复了昇腾平台下使用Print算子打印字符串对象时,Print算子报错Launch kernel failed的问题。
312- [#I8S6LY] 修复了昇腾平台图模式动态shape流程下,变长输入算子(如 AddN、Concat)报错RuntimeError: Attribute dyn_input_sizes of Default/AddN-op1 is [const vector]{}, of which size is less than 0的问题。
313- [#I9ADZS] 修复了故障恢复训练场景中,由于dataset恢复效率低导致网络训练出现数据超时的问题。
314
315### 贡献者
316
317感谢以下人员做出的贡献:
318
319AlanCheng511,AlanCheng712,bantao,Bingliang,BJ-WANG,Bokai Li,Brian-K,caifubi,cao1zhg,CaoWenbin,ccsszz,chaiyouheng,changzherui,chenfei_mindspore,chengbin,chengfeng27,chengxb7532,chenjianping,chenkang,chenweifeng,Chong,chuht,chujinjin,Cynthia叶,dairenjie,DavidFFFan,DeshiChen,douzhixing,emmmmtang,Erpim,fangzhou0329,fary86,fengxun,fengyixing,fuhouyu,gaoshuanglong,gaoyong10,GaoZhenlong,gengdongjie,gent1e,Greatpan,GTT,guoqi,guoxiaokang1,GuoZhibin,guozhijian,hangq,hanhuifeng,haozhang,hedongdong,hejianheng,Henry Shi,heyingjiao,HighCloud,Hongxing,huandong1,huangbingjian,HuangLe02,huangxinjing,huangziling,hujiahui8,huoxinyou,jiangchenglin3,jianghui58,jiangshanfeng,jiaorui,jiaxueyu,JichenZhao,jijiarong,jjfeing,JoeyLin,JuiceZ,jxl,kairui_kou,kate,KevinYi,kisnwang,lanzhineng,liangchenghui,LiangZhibo,lianliguang,lichen,ligan,lihao,limingqi107,ling,linqingke,liruyu,liubuyu,liuchao,liuchengji,liujunzhu,liuluobin,liutongtong9,liuzhuoran2333,liyan2022,liyejun,LLLRT,looop5,luochao60,luojianing,luoyang,LV,machenggui,maning202007,Margaret_wangrui,MaZhiming,mengyuanli,MooYeh,moran,Mrtutu,NaCN,nomindcarry,panshaowu,panzhihui,PingqiLi,qinzheng,qiuzhongya,Rice,shaojunsong,Shawny,shenwei41,shenyaxin,shunyuanhan,silver,Songyuanwei,tangdezhi_123,tanghuikang,tan-wei-cheng,TingWang,TronZhang,TuDouNi,VectorSL,WANG Cong,wang_ziqi,wanghenchang,wangpingan,wangshaocong,wangtongyu6,weiyang,WinXPQAQ,wtcheng,wudawei,wujiangming,wujueying,wuweikang,wwwbby,XianglongZeng,xiaosh,xiaotianci,xiaoxin_zhang,xiaoxiongzhu,xiaoyao,XinDu,xingzhongfan,yanghaoran,yangluhang,yangruoqi713,yangzhenzhang,yangzishuo,yanjiaming,Yanzhi_YI,yao_yf,yefeng,yeyunpeng2020,yide12,YijieChen,YingLai Lin,YingtongHu,youshu,yuchaojie,YuJianfeng,zangqx,zby,zhaiyukun,zhangdanyang,zhanghaibo,zhanghanLeo,zhangminli,zhangqinghua,zhangyanhui,zhangyifan,zhangyinxia,zhangyongxian,ZhangZGC,zhanzhan,zhaoting,zhengyafei,zhengzuohe,ZhihaoLi,zhouyaqiang0,zhuguodong,zhumingming,zhupuxu,zichun_ye,zjun,zlq2020,ZPaC,zuochuanyong,zyli2020,陈宇,代宇鑫,狄新凯,范吉斌,冯一航,胡彬,宦晓玲,黄勇,康伟,李良灿,李林杰,刘崇鸣,刘力力,刘勇琪,吕浩宇,没有窗户的小巷,王禹程,吴蕴溥,熊攀,徐安越,徐永飞,许哲纶,俞涵,张峻源,张树仁,张王泽,张栩浩,郑裔,周莉莉,周先琪,朱家兴,邹文祥
320
321欢迎以任何形式对项目提供贡献!
322
323## MindSpore 2.2.13 Release Notes
324
325### API变更
326
327增加动态组网场景下各类超时时间环境变量配置:
328
329- `MS_TOPO_TIMEOUT`: 集群组网阶段超时时间,单位:秒。
330- `MS_CLUSTER_RETRY_NUM`:集群组网阶段节点重试注册次数。
331- `MS_NODE_TIMEOUT`:节点心跳超时时间,单位:秒。
332- `MS_RECEIVE_MSG_TIMEOUT`:节点接收消息超时时间,单位:秒。
333
334### 问题修复
335
336- [#I9CR96] 修复在大规模集群下,动态组网启动方式的超时时间不足导致集群启动失败的问题。
337
338### 贡献者
339
340感谢以下人员做出的贡献:
341
342ZPaC, limingqi107, lizhenyu, jiangshanfeng
343
344欢迎以任何形式对项目提供贡献!
345
346## MindSpore 2.2.12 Release Notes
347
348### 主要特性及增强
349
350- [STABLE] 针对网络参数以fp32初始化以及开启优化器并行的场景,降低Cast算子数目。
351- [STABLE] 增加对静默故障的检测和处理能力;静默故障会导致训练过程异常,该特性帮助用户避免或大幅降低因静默故障导致的集群停机巡检进行故障定位带来的损失。
352
353### 问题修复
354
355- [#I97D1L] 修复 ReduceLROnPlateau、LRScheduler、CosineAnnealingWarmRestarts动态学习率相关接口样例错误。
356- [#I970HV] 修复多卡之间的allgather/reducescatter不保序问题。
357- [#I99JPI] 修复checkpoint在模糊匹配场景下加载类型为bfloat16 parameter的 bug。
358
359### 贡献者
360
361感谢以下人员做出的贡献:
362
363yao_yf, YijieChen, 冯一航, yuchaojie, 李良灿, YuJianfeng, huangxinjing, GuoZhibin, looop5
364
365欢迎以任何形式对项目提供贡献!
366
367## MindSpore 2.2.11 Release Notes
368
369### 主要特性及增强
370
371#### scipy
372
373- [STABLE] 新增scipy模块API mindspore.scipy.optimize.linear_sum_assignment,用于解决线性和分配问题,它可以基于一个给定的成本矩阵,找到一个成本最低的分配方案。
374
375### 问题修复
376
377- [#I8JVRU] 修复bernoulli随机数算子在GPU上跑两次的结果出现概率性一致的问题。
378- [#I8OC32] 修复MatrixSetDiagV3算子未校验异常输入,导致segmentation fault问题。
379
380### 贡献者
381
382感谢以下人员做出的贡献:
383
384fary86, wanghenchang, haozhang, mengyuanli, emmmmtang, luoyang, zhupuxu, zhangyongxian, liuluobin, LLLRT, TuDouNi, hujiahui8, wangtongyu6, ligan, zhuguodong, yanghaoran, YingtongHu, liyejun, zjun, 徐永飞, chuht, 张树仁, 徐安越, DeshiChen, shenyaxin, liujunzhu, shunyuanhan, yuchaojie, yao_yf, 没有窗户的小巷, yeyunpeng2020, weiyang, KevinYi, hedongdong, zhouyaqiang0, Margaret_wangrui, zhanghaibo, moran, huangziling, 朱家兴, GuoZhibin, 李良灿, jiaxueyu, gaoyong10, Greatpan, 宦晓玲, melody, 俞涵, jiangshanfeng, XinDu, ling, caifubi, zhangyinxia, gengdongjie, Erpim, XianglongZeng, zhangminli, fengyixing, 冯一航, 黄勇, panzhihui, 胡彬, linqingke, wangshaocong
385
386欢迎以任何形式对项目提供贡献!
387
388## MindSpore Lite 2.2.11 Release Notes
389
390### 问题修复
391
392- [#I8TPLY] 修复 SSD MobileNetV2 FPN 网络在Atlas 推理系列产品(配置 Ascend 310P AI 处理器)平台上的推理失败问题。
393
394### 贡献者
395
396感谢以下人员做出的贡献:
397
398wangtongyu6, zhuguodong, 徐永飞, 徐安越, yeyunpeng2020, moran, XinDu, gengdongjie.
399
400欢迎以任何形式对项目提供贡献!
401
402## MindSpore 2.2.10 Release Notes
403
404### 主要特性及增强
405
406#### 算子
407
408- [STABLE] FastGelu、BatchMatMul、AllReduce、AllGather、Broadcast、ReduceScatter算子支持bfloat16数据类型
409- [STABLE] AllGather支持uint8数据类型
410
411### 问题修复
412
413- [#I8ALW3]修复Faster R-CNN、DeepTextMask、RCNN-ResNet50等网络在Ascend 910上8卡训练RandomChoiceWithMask算子报错问题
414- [#I8LKG7]修复UNet-2D在Ascend 910 1卡、8卡图编译报错问题
415- [#I8KU3X]修复CRNN-ResNet34在Ascend 910 1卡、8卡PyNative模式下训练进程卡住问题
416- [#I8KTHH]修复在Ascend 910 8卡上使能enable_parallel_optimizer=True,不使用allreduce分组融合时,BERT网络训练报错问题
417
418### 贡献者
419
420感谢以下人员做出的贡献:
421
422李林杰, TuDouNi, chengxb7532, Henry Shi, rms-infer-type, 朱家兴, zhouyaqiang0, tanghuikang, gaoyong10, gengdongjie, yao_yf, hujiahui8, hanhuifeng, shenyaxin, KevinYi, 冯一航, chengfeng27, JuiceZ, zhangyanhui, jijiarong, xiaoxiongzhu, 没有窗户的小巷, ling, liyan2022, haozhang, zangqx, xiaoyao, liujunzhu, 胡彬, panzhihui, wangshaocong, linqingke, jianghui58, qiuzhongya, yangruoqi713, zhangminli, moran, 王禹程, shaojunsong, wangtongyu6, zhupuxu, luoyang, 徐安越, qinzheng, caifubi, 徐永飞, chenkang, youshu, XinDu, liubuyu, jxl, yeyunpeng2020, huoxinyou, yefeng, jiaorui, wangpingan, cao1zhg, zjun, zyli2020, yanjiaming, Cynthia叶, 胡安东, 李良灿, liruyu, liuluobin, lihao, huangbingjian, YijieChen, jjfeing, looop5, 刘力力, xiaoxin_zhang, yangluhang, chenweifeng, jiangshanfeng, zichun_ye, 陈宇, NaCN, ligan, YingLai Lin, huangziling, chenjianping, DeshiChen, chengbin, kairui_kou, ccsszz, yanghaoran, zhangdanyang, Yanzhi_YI, zhengzuohe, hangq, TronZhang, wanghenchang, HighCloud, 吕浩宇, VectorSL, ZPaC, mengyuanli, maning202007, 刘勇琪, r1chardf1d0, fary86, 刘崇鸣, yuchaojie, douzhixing, fengyixing
423
424欢迎以任何形式对项目提供贡献!
425
426## MindSpore Lite 2.2.10 Release Notes
427
428### 问题修复
429
430- [#I8K7CC]优化get_model_info接口传入非str字段的报错
431
432### 贡献者
433
434感谢以下人员做出的贡献:
435
436gengdongjie, zhangyanhui, xiaoxiongzhu, wangshaocong, jianghui58, moran, wangtongyu6, 徐安越, qinzheng, 徐永飞, youshu, XinDu, yeyunpeng2020, yefeng, wangpingan, zjun, 胡安东, 刘力力, 陈宇, chenjianping, kairui_kou, zhangdanyang, hangq, mengyuanli, 刘崇鸣
437
438欢迎以任何形式对项目提供贡献!
439
440## MindSpore 2.2.1 Release Notes
441
442### Bug Fixes
443
444- [#I7R3R5] 修复昇腾平台ResNet-50网络精度劣化问题。
445- [#I8A9RH] 修复昇腾平台DBNet(ResNet-50)网络精度劣化问题。
446- [#I8B8IW] 修复多维Tensor赋值越界导致段错误的问题。
447- [#I8J0F4] 修复多维Tensor扩展维度在动态图执行失败的问题。
448- [#I87P3P] 修复昇腾平台二次训练编译缓存加载失败的问题。
449- [#I86GP9] 修复昇腾平台UNet3D网络推理精度劣化问题。
450- [#I89B4K] 修复Windows平台动态图动态rank执行卡住的问题。
451- [#I8CX0C] 修复昇腾平台上动态图混合精度模式下偶现失败的问题。
452- [#I8BGCF] 修复昇腾平台AIRNet网络动态图模式下执行出现段错误的问题。
453- [#I8L5DS] 修复昇腾平台ResNet-50图像分割网络动态图执行慢的问题。
454
455### 贡献者
456
457感谢以下人员做出的贡献:
458
459yufan, dingcheng, lvzhangcheng, zhunaipan, fangwenyi, weiyang, changzherui, chujinjin, zangqingxiang, yuchaojie, wuweikang, tanghuikang, xiaoyao, huangbinjian, zhoupeichen, chenfei_mindspore, hedongdong, wangnan, zhengzuohe, yanghaoran, zouliqin, luoyang, liuchongmin, lujiale, machenggui, wangcong, lixiangyi, wangting, huangyong
460
461欢迎以任何形式对项目提供贡献!
462
463## MindSpore Lite 2.2.1 Release Notes
464
465### Bug Fixes
466
467- [#I88055] 修复MindSpore Lite推理gridsample算子format设置错误的问题。
468- [#I8D80Y] 修复MindSpore Lite推理单算子调用流程资源释放异常的问题。
469
470### 贡献者
471
472感谢以下人员做出的贡献:
473
474zhanghaibo, wangsiyuan, yefeng, wangshaocong, chenjianping
475
476欢迎以任何形式对项目提供贡献!
477
478## MindSpore 2.2.0 Release Notes
479
480### 主要特性和增强
481
482#### DataSet
483
484- [STABLE] 数据操作map/batch的`row_size`参数扩展支持传入list,代表[输入共享内存, 输出共享内存],以便在多进程模式时灵活控制共享内存的大小。
485- [STABLE] 为官网API文档页面mindspore.datasetmindspore.dataset.transformsmindspore.mindrecord的所有API补充完善样例,方便用户参考。
486- [STABLE] ConcatDataset支持全局采样能力,即使用concat操作组合多来源数据后,可以对数据进行全局随机采样以增强数据多样性。
487- [STABLE] 使用model.train接口训练时,支持通过TimeMonitor(.., data_time=True)实时监控数据处理性能。
488- [STABLE] 引入jemalloc库,解决在极端场景下,因内存碎片回收不及时导致内存缓慢上涨问题。
489
490#### FrontEnd
491
492- [STABLE] 支持添加@lazy_inline装饰器来标注Cell生成的子图延迟inline,从而有效提升编译性能。
493- [STABLE] 新增CellDict数据结构,支持构建Dict类型的Cell对象,完善构建网络能力。
494- [STABLE] 混合精度训练的功能优化,支持通过rewrite自动改写python脚本实现混合精度策略,支持函数、分支语句等多种语法自动解析。
495- [STABLE] 动态学习率功能优化,新增MultiStepLR等API;get_lr方法与global_step解耦,扩展优化器模块功能。
496- [STABLE] 优化API代码样例、API差异表以及高阶函数使用教程。
497
498#### 算子
499
500- [STABLE] 新增算子原语`mindspore.ops.Dense`。
501- [STABLE] 新增随机数算子状态管理功能,使随机数算子可以保存随机数状态,并在模型并行、重计算等场景稳定复现。当前仅支持CPU/GPU平台,涉及的随机数算子包括:`mindspore.ops.Multinomial`、`mindspore.ops.MultinomialWithReplacement`、`mindspore.ops.ParameterizedTruncatedNormal`、`mindspore.ops.StandardLaplace`、`mindspore.ops.StandardLaplace`、`mindspore.ops.Uniform`、`mindspore.ops.UniformInt`、`mindspore.ops.UniformReal`、`mindspore.ops.UniformInt`、`mindspore.ops.Dropout`、`mindspore.ops.RandomChoiceWithMask`、`mindspore.ops.RandomCategorical`、`mindspore.ops.RandomShuffle`、`mindspore.ops.RandamGamma`、`mindspore.ops.RandomPoisson`、`mindspore.ops.TruncatedNormal`。
502- [STABLE] 当GPU算子遇到非法输入场景,支持在算子的CUDA核函数中异步打印报错日志到Host侧,并中断当前CUDA Stream的执行,提高用户算子问题的定位效率。
503
504#### PyNative
505
506- [STABLE] PyNative模式下支持View机制。
507- [STABLE] PyNative模式下功能增强:sens支持dict类型输入。
508
509#### Ascend
510
511- [STABLE] 支持用户可配置算子高精度/高性能模式,用户可以通过`mindspore.set_context(ascend_config={"op_precision_mode": "/path/to/op_precision_config_file"})`对部分TBE算子配置高精度/高性能模式。
512- [BETA] 支持用户可配置fp16进fp32出的算子,用户可以通过`mindspore.set_context(ascend_config={"precision_mode": "force_fp32"})`对TBE Cube算子配置fp16进fp32出。
513- [BETA] 去除jit level "O3"与GE流程强绑定,用户在执行GE流程时无需再设置`jit_level="O3"`。
514
515#### Parallel
516
517- [STABLE] 支持半自动/全自动模式下,非流水线并行场景的梯度累加特性,用户可以通过`net = GradAccumulationCell(net, micro_size)`方式,对网络使能梯度累加。梯度累加特性同样支持LazyInline编译加速。
518
519#### 推理
520
521自2.2版本起MindSpore主发布包不再提供配套310的推理接口使能,如需使用请切换安装MindSpore Lite发布包或下载MindSpore2.0之前的版本。MindSpore lite的安装部署与用法详见 <https://www.mindspore.cn/lite>。昇腾(Ascend)310是面向边缘场景的高能效高集成度AI处理器,支持对MindIR格式模型进行推理。原先MindSpore提供了两种在Ascend 310硬件上的推理使能用法:
522
5231. 由MindSpore主发布包提供配套Ascend 310的版本,支持C++推理接口。
5242. 由MindSpore Lite发布包提供配套Ascend的版本,支持C++/Java两种语言进行推理。
525
526这两种方案提供的C++ API基本一致,后续不再构建和维护两套接口,而是归一使用MindSpore Lite。原有基于MindSpore主发布包构建的310推理业务,可以少量修改切换到MindSpore Lite,详见 <https://www.mindspore.cn/docs/zh-CN/master/faq/inference.html>。
527
528### Bug fixes
529
530- [I7SDA0] 修复了昇腾平台上CRNN网络精度劣化的问题。
531- [I7T4QK] 修复了昇腾平台上wgan网络推理精度劣化问题。
532- [I7TJ8Z] 修复了昇腾平台上lgtm网络推理精度劣化问题。
533- [I7M58O] 修复了昇腾平台上ASR-dynamic网络训练core-dump的问题
534- [I7L6B6] 修复了dataset多进程模式时,子进程在某些场景不退出的问题。
535- [I7L7AE] 修复了dataset处理中包含repeat操作,且dataset.batch中使用动态batch时,batchinfo.get_epoch_num()计算不正确的问题。
536- [I7UY7G] 修复OBSMindDataset中对于文件权限修改的异常的报错。
537
538### 贡献者
539
540感谢以下人员做出的贡献:
541bantao, Bingliang, BJ-WANG, Brian-K, caifubi, ccsszz, changzherui, chenfei_mindspore, chengfeng27, chenhaozhe, chenjianping, chenkang, chenweifeng, chuht, chujinjin, CShu0507, Cynthia叶, DeshiChen, douzhixing, Erpim, Etienne, fary86, fengxun, fengyixing, gaoshuanglong, Gaoxiong, gaoyong10, GaoZhenlong, Greatpan, GuoZhibin, guozhijian, hangq, hanhuifeng, haozhang, hedongdong, Henry Shi, HighCloud, Hongxing, huangbingjian, huanghui, huangxinjing, huangziling, hujiahui8, huoxinyou, HWalkingMan, jianghui58, jiangshanfeng, jiaorui, jijiarong, jjfeing, JuiceZ, jxl, KevinYi, kisnwang, KXiong, lanzhineng, Li Qingguo, LiangZhibo, lianliguang, ligan, lihao, Lihoon, limingqi107, ling, linqingke, liruyu, liubuyu, liuchao, liujunzhu, liuluobin, liupeng303, liutongtong9, liyan2022, liyejun, looop5, luochao60, luojianing, luoyang, machenggui, maning202007, Margaret_wangrui, MaZhiming, mengyuanli, moran, NaCN, nomindcarry, panshaowu, panzhihui, qinzheng, qiuzhongya, r1chardf1d0, shaojunsong, shenwei41, shenyaxin, shenzhangyi, Shira Zaloshinski, shunyuanhan, tangdezhi_123, tanghuikang, tan-wei-cheng, tan-wei-cheng-3260, TronZhang, TuDouNi, VectorSL, wang_ziqi, wanghenchang, wangpingan, wangshaocong, wangtongyu6, wtcheng, wujueying, XianglongZeng, xiaotianci, xiaoxin_zhang, xiaoxiongzhu, xiaoyao, xiaoyuanyuan, XinDu, xujinliang, xupan, yanghaoran, yangluhang, yangruoqi713, yangsijia, yangzhenzhang, yangzishuo, yanjiaming, Yanzhi_YI, yao_yf, yefeng, yeyunpeng2020, yide12, YijieChen, YingLai Lin, YingtongHu, yonibaehr, youshu, yuchaojie, YuJianfeng, zangqx, zhaizhiqiang, zhangbuxue, zhangchunlei, zhangdanyang, zhangdong, zhanghaibo, zhangminli, zhangqi, zhangqinghua, zhangyanhui, zhangyifan, zhangyongxian, zhangzhen, zhangzheng, zhanzhan, zhengzuohe, ZhihaoLi, zhoufeng, zhouyaqiang0, zhuguodong, zhupuxu, zichun_ye, zjun, ZPaC, zuochuanyong, zyli2020, 陈宇, 程超, 范吉斌, 冯浩, 冯一航, 胡彬, 宦晓玲, 黄勇, 雷元哲, 黎冠新, 李良灿, 李林杰, 刘崇鸣, 刘力力, 刘思铭, 刘勇琪, 吕浩宇, 没有窗户的小巷, 沈竞兴, 王禹程, 王振邦, 徐安越, 徐永飞, 俞涵, 张澍坤, 周超, 朱家兴
542
543欢迎以任何形式对项目提供贡献!
544
545## MindSpore Lite 2.2.0 Release Notes
546
547### 主要特性和增强
548
549#### 支持FlashAttention算子融合
550
551- [STABLE] 在Ascend 910系列硬件上,支持LLAMA、stable diffusion系列模型的FlashAttention大算子融合。
552
553## MindSpore 2.1.1 Release Notes
554
555### Bug fixes
556
557- [I7Q9RX] 昇腾平台支持不同硬件类型自适应识别。
558- [I7SDA0] 修复了昇腾平台上CRNN网络精度劣化的问题。
559- [I7T4QK] 修复了昇腾平台上wgan网络推理精度劣化问题。
560- [I7TJ8Z] 修复了昇腾平台上lgtm网络推理精度劣化问题。
561
562### 贡献者
563
564感谢以下人员做出的贡献:
565
566changzherui, chenfei_mindspore, chenjianping, chenkang, chenweifeng, chujinjin, fangwenyi, GuoZhibin, guozhijian, hangq, hanhuifeng, haozhang, hedongdong, 尤澍, zhoufeng, 代宇鑫
567
568欢迎以任何形式对项目提供贡献!
569
570## MindSpore Lite 2.1.1 Release Notes
571
572### Major Features and Improvements
573
574- [STABLE] MindSpore Lite Cloud Inference adds support for Python 3.8 and Python 3.9
575
576## MindSpore 2.1.0 Release Notes
577
578### 主要特性和增强
579
580#### FrontEnd
581
582- [BETA] JIT Fallback支持变量场景:静态图模式下,支持返回Dict类型和Scalar类型,支持对非Parameter类型对象进行属性设置, 支持List的部分就地修改操作,完善支持NumPy等第三方库,支持用户自定义类的相关操作,支持Python基础运算符、内置函数使用更多数据类型,兼容控制流、副作用、自动微分等功能。具体用法请参考[静态图语法支持](https://www.mindspore.cn/docs/zh-CN/r2.1/note/static_graph_syntax_support.html)583- [BETA] 静态图模式下,优化控制流场景中使用未定义变量的报错。使用if、while、for控制流分支内定义的变量,需在控制流之前初始化定义变量。
584- [STABLE] 新增ReWrite功能,支持基于自定义规则修改网络结构,提供对多个网络进行批量修改的能力。
585- [BETA] 新增optim_ex优化器模块,扩展现有功能,支持全量优化器参数分组策略的设置、支持运行中通过赋值的方式修改参数等功能。
586- [STABLE] 优化MindSpore与PyTorch的API映射表,详细介绍API在功能、参数、输入、输出和特定场景等方面的差异。
587
588#### PyNative
589
590- 优化动态图模式下动态shape场景的性能。
591
592#### DataSet
593
594- [STABLE] 优化MindRecord数据文件的内存结构,加载百TB级别数据训练可降低60%内存占用。
595- [STABLE] 支持单线程执行数据处理Pipeline,以便用户在数据Pipeline中添加代码对数据处理功能进行调试。
596- [STABLE] 优化了TFRecordDataset的性能,对数据集加载性能提升60%+;优化了batch的性能,对于batch数较大的使用场景性能提升30%。
597- [STABLE] 优化API文档[mindspore.dataset](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.html) 和 [mindspore.dataset.transforms](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.transforms.html)的Example示例,并新增了四篇样例库展示数据增强的效果,分别是:[使用数据Pipeline加载 & 处理数据集](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.html#%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86pipeline%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B)、[视觉变换样例库](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.transforms.html#%E6%A0%B7%E4%BE%8B%E5%BA%93)、[文本变换样例库](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.transforms.html#%E6%A0%B7%E4%BE%8B%E5%BA%93-1)、[音频变换样例库](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore.dataset.transforms.html#%E6%A0%B7%E4%BE%8B%E5%BA%93-2)
598
599#### AutoParallel
600
601- [STABLE] 支持训练过程将参数或者中间结果offload到CPU或NVMe,用户通过配置context开启自动offload功能,扩大可训练模型规模。
602
603- [STABLE] 自动并行能力增强:
604
605  1. 典型网络自动策略性能不低于默认配置的90%;
606
607  2. 支持3D混合并行训练:自动算子级策略生成结合手动配置pipeline切分。
608
609#### Runtime
610
611- [STABLE] 升级OpenMPI版本至4.1.4。
612- [STABLE] 升级NCCL版本至2.16.5。
613- [STABLE] 动态组网场景下单节点内多卡rank连续分配。
614- [STABLE] 动态组网场景下用户无需在脚本中对Scheduler角色进行适配,Scheduler与Worker脚本可保持完全一致。
615
616#### Ascend
617
618- [STABLE] 算子执行发生AIC Error时日志支持输出辅助AIC Error定位的维测信息,信息包括算子task名字、stream id、输入输出及workspace地址等。
619- [STABLE] 针对算子输出为空Tensor的场景为CANN算子提供默认的处理机制,即跳过其算子执行。
620- [STABLE] 在图模式网络模型执行失败时补充相关定位信息,即在rank_${id}/exec_order/目录下产生csv文件,记录每个task的task id和stream id。
621
622#### Profiler
623
624- [STABLE] Profiler支持收集Host侧各个阶段耗时数据。
625- [BETA] Profiler支持收集Host侧各个阶段内存数据。
626- [BETA] Profiler支持收集数据处理算子耗时。
627
628### API变更
629
630- `mindspore.dataset.GraphData`、`mindspore.dataset.Graph`、`mindspore.dataset.InMemoryGraphDataset`、`mindspore.dataset.ArgoverseDataset`不再进行功能演进并废弃。使用[MindSpore Graph Learning](https://gitee.com/mindspore/graphlearning)进行相关功能替换。对于Model仓库使用到此API的相关网络进行替换时,GCN请参考[Graph Learning GCN](https://gitee.com/mindspore/graphlearning/tree/master/model_zoo/gcn),GAT请参考[Graph Learning GAT](https://gitee.com/mindspore/graphlearning/tree/master/model_zoo/gat)631- `mindspore.set_context`新增`jit_syntax_level`选项,用于设置JIT语法支持级别,请参考[set_context](https://www.mindspore.cn/docs/zh-CN/r2.1/api_python/mindspore/mindspore.set_context.html)632- 变更了`model.infer_predict_layout`接口,接口新增参数skip_backend_compile,默认值为False。当用户希望跳过后端编译流程获取参数切分策略时可选择设置为True。
633
634#### 算子
635
636- 新增算子原语`mindspore.ops.ApplyAdamWithAmsgradV2`,推荐通过接口`mindspore.nn.Adam`调用。
637- 新增算子原语`mindspore.ops.UpsampleTrilinear3D`,推荐通过接口`mindspore.ops.interpolate`调用。
638- 新增算子原语`mindspore.ops.UpsampleNearest3D`,推荐通过接口`mindspore.ops.interpolate`调用。
639
640#### 接口弃用
641
642- 弃用算子原语`mindspore.ops.ScatterNonAliasingAdd`,推荐使用算子原语`mindspore.ops.TensorScatterAdd`替换。
643
644#### 非兼容性接口变更
645
646- 接口名称:`mindspore.nn.Dense`、`mindspore.nn.Conv1d`、`mindspore.nn.Conv1dTranspose`、`mindspore.nn.Conv2d`、`mindspore.nn.Conv2dTranspose`、`mindspore.nn.Conv3d`、`mindspore.nn.Conv3dTranspose`
647
648  变更内容:变更了初始化参数策略。weight_init默认值由"normal"改为None,bias_init默认值由"zeros"改为None。
649
650  说明:权重默认初始化方法由使用"normal"改为在内部使用HeUniform初始化。偏差默认初始化方法由"zeros"改为在内部使用Uniform初始化。
651
652  <table>
653  <tr>
654  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.1接口 </td>
655  </tr>
656  <tr>
657  <td><pre>
658  mindspore.nn.Dense(in_channels,
659                     out_channels,
660                     weight_init='normal',
661                     bias_init='zeros',
662                     has_bias=True,
663                     activation=None)
664  </pre>
665  </td>
666  <td><pre>
667  mindspore.nn.Dense(in_channels,
668                     out_channels,
669                     weight_init=None,
670                     bias_init=None,
671                     has_bias=True,
672                     activation=None)
673  </pre>
674  </td>
675  </tr>
676  <tr>
677  <td><pre>
678  mindspore.nn.Conv1d(in_channels,
679                      out_channels,
680                      kernel_size,
681                      stride=1,
682                      pad_mode='same',
683                      padding=0,
684                      dilation=1,
685                      group=1,
686                      has_bias=False,
687                      weight_init='normal',
688                      bias_init='zeros')
689  </pre>
690  </td>
691  <td><pre>
692  mindspore.nn.Conv1d(in_channels,
693                      out_channels,
694                      kernel_size,
695                      stride=1,
696                      pad_mode='same',
697                      padding=0,
698                      dilation=1,
699                      group=1,
700                      has_bias=False,
701                      weight_init=None,
702                      bias_init=None)
703  </pre>
704  </td>
705  </tr>
706  <tr>
707  <td><pre>
708  mindspore.nn.Conv1dTranspose(in_channels,
709                               out_channels,
710                               kernel_size,
711                               stride=1,
712                               pad_mode='same',
713                               padding=0,
714                               dilation=1,
715                               group=1,
716                               has_bias=False,
717                               weight_init='normal',
718                               bias_init='zeros')
719  </pre>
720  </td>
721  <td><pre>
722  mindspore.nn.Conv1dTranspose(in_channels,
723                               out_channels,
724                               kernel_size,
725                               stride=1,
726                               pad_mode='same',
727                               padding=0,
728                               dilation=1,
729                               group=1,
730                               has_bias=False,
731                               weight_init=None,
732                               bias_init=None)
733  </pre>
734  </td>
735  </tr>
736  <tr>
737  <td><pre>
738  mindspore.nn.Conv2d(in_channels,
739                      out_channels, kernel_size,
740                      stride=1,
741                      pad_mode='same',
742                      padding=0,
743                      dilation=1,
744                      group=1,
745                      has_bias=False,
746                      weight_init='normal',
747                      bias_init='zeros',
748                      data_format='NCHW')
749  </pre>
750  </td>
751  <td><pre>
752  mindspore.nn.Conv2d(in_channels,
753                      out_channels,
754                      kernel_size,
755                      stride=1,
756                      pad_mode='same',
757                      padding=0,
758                      dilation=1,
759                      group=1,
760                      has_bias=False,
761                      weight_init=None,
762                      bias_init=None,
763                      data_format='NCHW')
764  </pre>
765  </td>
766  </tr>
767  <tr>
768  <td><pre>
769  mindspore.nn.Conv2dTranspose(in_channels,
770                               out_channels,
771                               kernel_size,
772                               stride=1,
773                               pad_mode='same',
774                               padding=0,
775                               output_padding=0,
776                               dilation=1,
777                               group=1,
778                               has_bias=False,
779                               weight_init='normal',
780                               bias_init='zeros')
781  </pre>
782  </td>
783  <td><pre>
784  mindspore.nn.Conv2dTranspose(in_channels,
785                               out_channels,
786                               kernel_size,
787                               stride=1,
788                               pad_mode='same',
789                               padding=0,
790                               output_padding=0,
791                               dilation=1,
792                               group=1,
793                               has_bias=False,
794                               weight_init=None,
795                               bias_init=None)
796  </pre>
797  </td>
798  </tr>
799  <tr>
800  <td><pre>
801  mindspore.nn.Conv3d(in_channels,
802                      out_channels,
803                      kernel_size,
804                      stride=1,
805                      pad_mode='same',
806                      padding=0,
807                      dilation=1,
808                      group=1,
809                      has_bias=False,
810                      weight_init='normal',
811                      bias_init='zeros',
812                      data_format='NCDHW')
813  </pre>
814  </td>
815  <td><pre>
816  mindspore.nn.Conv3d(in_channels,
817                      out_channels,
818                      kernel_size,
819                      stride=1,
820                      pad_mode='same',
821                      padding=0,
822                      dilation=1,
823                      group=1,
824                      has_bias=False,
825                      weight_init=None,
826                      bias_init=None,
827                      data_format='NCDHW')
828  </pre>
829  </td>
830  </tr>
831  <tr>
832  <td><pre>
833  mindspore.nn.Conv3dTranspose(in_channels,
834                               out_channels,
835                               kernel_size,
836                               stride=1,
837                               pad_mode='same',
838                               padding=0,
839                               dilation=1,
840                               group=1,
841                               output_padding=0,
842                               has_bias=False,
843                               weight_init='normal',
844                               bias_init='zeros',
845                               data_format='NCDHW')
846  </pre>
847  </td>
848  <td><pre>
849  mindspore.nn.Conv3dTranspose(in_channels,
850                               out_channels,
851                               kernel_size,
852                               stride=1,
853                               pad_mode='same',
854                               padding=0,
855                               dilation=1,
856                               group=1,
857                               output_padding=0,
858                               has_bias=False,
859                               weight_init=None,
860                               bias_init=None,
861                               data_format='NCDHW')
862  </pre>
863  </td>
864  </tr>
865  </table>
866
867### Bug fixes
868
869- [I6TKLW] 修复了昇腾平台上MobileNetV2网络性能劣化的问题。
870- [I7CP5H] 修复了昇腾平台上ASR网络训练失败的问题。
871- [I7I3EZ] 修复了由于Pillow 10.0.0版本变更枚举接口导致run_check()失败的问题。若在低版本MindSpore遇到,则安装10.0.0以下版本Pillow避免此问题。
872- [I7IZ8K] 修复了assignsub接口在PyNative下的精度问题。
873- [I7HGY0] 修复了函数式编程,在PyNative模式数据下沉场景,loss不收敛的问题。
874- [I7J4N3] 修复了Profiler动态Shape模式下生成Step Trace失败的问题。
875- [I7J4N3] 修复了MindInsight并行策略视图展示暂无数据的问题。
876- [I79YY4] 修复了PyNative模式下高阶微分时的SiLU算子错误。
877- [I6NQJQ] 修复了PyNative模式下ScatterUpdate算子动态shape场景下执行概率性失败的问题。
878- [I6Y4G5] 修复了Graph模式下Conv3D算子动态Shape场景下执行失败的问题。
879
880### 贡献者
881
882感谢以下人员做出的贡献:
883
884alashkari,anzhengqi,archer2049,B.L.LAN,baihuawei,bichaoyang,BJ-WANG,Bokai Li,Brian-K,caifubi,caiyimeng,cathwong,changzherui,ChenDonYY,chenfei_mindspore,chengang,chengbin,chenhaozhe,chenjianping,chenkang,chenweifeng,chuht,chujinjin,davidanugraha,DavidFFFan,DeshiChen,douzhixing,emmmmtang,Erpim,Ethan,fangwenyi,fangzehua,fangzhou0329,fary86,fengyixing,gaoshuanglong,Gaoxiong,gaoyong10,gengdongjie,gongdaguo1,Greatpan,GuoZhibin,guozhijian,hangq,hanhuifeng,haozhang,hedongdong,Henry Shi,heterogeneous_to_backoff_2_0,huangbingjian,huanghui,huangxinjing,hujiahui8,hujingsong,huoxinyou,jachua,jiahongQian,jianghui58,jiangzhenguang,jiaorui,jiaoy1224,jijiarong,jjfeing,JoeyLin,json,JuiceZ,jxl,kairui_kou,KevinYi,kisnwang,KXiong,laiyongqiang,lanzhineng,liangchenghui,liangzelang,LiangZhibo,lianliguang,lichen,ligan,lijunbin,limingqi107,ling,linqingke,liubuyu,liuchao,liuchuting,liujunzhu,liuluobin,liutongtong9,liuyang811,lixiao,liyan2022,liyejun,liyuxia,looop5,luochao60,luojianing,luoyang,luoyuan,lyqlola,maning202007,maoyaomin,Margaret_wangrui,mayadong,MaZhiming,melody,mengyuanli,michaelzhu_70ab,Mohammad Motallebi,moran,NaCN,nomindcarry,OwenSec,panfengfeng,panshaowu,panzhihui,pkuliuliu,qinzheng,qiuzhongya,qujianwei,r1chardf1d0,Renyuan Zhang,RobinGrosman,shaojunsong,shenwei41,Soaringfish,tangdezhi_123,tanghuikang,tan-wei-cheng,TinaMengtingZhang,TronZhang,TuDouNi,VectorSL,wang_ziqi,wanghenchang,wangnan39,wangpingan,wangshaocong,wangshengnan123,wangtongyu6,weichaoran,wind-zyx,wqx,wtcheng,wujueying,wYann,XianglongZeng,xiaohanzhang,xiaotianci,xiaoyao,XinDu,xulei,xumengjuan1,xupan,xwkgch,yanghaoran,yangluhang,yangruoqi713,yangshuo,yangsijia,yangzhenzhang,yanzhenxiang2020,Yanzhi_YI,yao_yf,yefeng,yeyunpeng2020,Yi_zhang95,yide12,YijieChen,YingLai Lin,YingtongHu,youshu,yuchaojie,yuedongli,YuJianfeng,zangqx,ZengZitao,zhangbuxue,zhangdanyang,zhangdong,zhangfanghe,zhangqi,zhangqinghua,zhangyanhui,zhangyinxia,zhangyongxian,zhangzhaoju,zhanzhan,zhengzuohe,ZhidanLiu,zhixinaa,zhoufeng,zhouyaqiang0,zhuguodong,zhupuxu,zhuyuxiao,zichun_ye,zjun,zlq2020,zong_shuai,ZPaC,zuochuanyong,zyli2020,陈宇,范吉斌,冯一航,胡彬,宦晓玲,黄勇,雷元哲,李良灿,李林杰,刘崇鸣,刘力力,刘勇琪,吕浩宇,吕昱峰(Nate.River),没有窗户的小巷,沈竞兴,十六夜,王程浩,王禹程,王振邦,徐安越,徐永飞,杨旭华,于振华,俞涵,张清华,张澍坤,张栩浩,张学同,赵英灼,周超,周洪叶,朱家兴
885
886欢迎以任何形式对项目提供贡献!
887
888## MindSpore Lite 2.1.0 Release Notes
889
890### 主要特性和增强
891
892#### MindSpore Lite云侧推理
893
894- [STABLE] 支持Ascend硬件后端单卡大模型以及单机多卡分布式大模型高性能推理。
895- [STABLE] Python API Ascend后端支持多模型共享工作空间(Workspace)内存。
896- [STABLE] [通过ModelGroup新增支持多模型共享权重](https://mindspore.cn/lite/docs/zh-CN/r2.1/use/cloud_infer/runtime_cpp.html#%E5%A4%9A%E6%A8%A1%E5%9E%8B%E5%85%B1%E4%BA%AB%E6%9D%83%E9%87%8D),比如大模型场景下全量模型和增量模型共享权重。
897
898#### API
899
900新增ModelGroup [Python](https://www.mindspore.cn/lite/api/zh-CN/r2.1/mindspore_lite/mindspore_lite.ModelGroup.html#mindspore_lite.ModelGroup)和[C++](https://mindspore.cn/lite/api/zh-CN/r2.1/api_cpp/mindspore.html#modelgroup)接口,接口定义如下:
901
902```python
903class ModelGroup
904    def __init__(self, flags=ModelGroupFlag.SHARE_WORKSPACE)
905    def add_model(self, models)
906    def cal_max_size_of_workspace(self, model_type, context)
907```
908
909```C++
910// class ModelGroup
911ModelGroup(ModelGroupFlag flags = ModelGroupFlag::kShareWorkspace);
912Status AddModel(const std::vector<std::string> &model_path_list);
913Status AddModel(const std::vector<std::pair<const void *, size_t>> &model_buff_list);
914Status AddModel(const std::vector &model_list);
915Status AddModel(const std::vector &model_list);
916```
917
918## MindSpore 2.0.0 Release Notes
919
920### 主要特性和增强
921
922#### PyNative
923
924- [Stable] 全面支持动态shape,算子支持度详见[nn接口动态shape支持情况](https://www.mindspore.cn/docs/zh-CN/master/note/dynamic_shape_nn.html)、[ops接口动态shape支持情况](https://www.mindspore.cn/docs/zh-CN/master/note/dynamic_shape_func.html)和[算子动态shape支持情况](https://www.mindspore.cn/docs/zh-CN/master/note/dynamic_shape_primitive.html)925
926#### AutoParallel
927
928- [STABLE] 新建MindFormers独立仓,提供分布式并行套件功能,替代mindspore.nn.transformer模块。
929- [DEMO] 分布式Gather算子支持BatchDim属性。
930- [DEMO] 流水线并行支持指定输入数据任意维度作为Batch维。
931
932### API变更
933
934#### 算子
935
936- `mindspore.ops.AdaptiveAvgPool2D` 新增算子原语。
937- `mindspore.ops.BatchToSpaceNDV2` 新增算子原语。
938- `mindspore.ops.CeLU` 新增算子原语。
939- `mindspore.ops.ExtractVolumePatches` 新增算子原语。
940- `mindspore.ops.FFTWithSize` 新增算子原语。
941- `mindspore.ops.FillDiagonal` 新增算子原语。
942- `mindspore.ops.FractionalMaxPool3DWithFixedKsize` 新增算子原语。
943- `mindspore.ops.Im2Col` 新增算子原语。
944- `mindspore.ops.MaskedScatter` 新增算子原语。
945- `mindspore.ops.MatrixBandPart` 新增算子原语。
946- `mindspore.ops.MatrixInverse` 新增算子原语。
947- `mindspore.ops.MaxPoolWithArgmaxV2` 新增算子原语。
948- `mindspore.ops.Ormqr` 新增算子原语。
949- `mindspore.ops.RandpermV2` 新增算子原语。
950- `mindspore.ops.ResizeBicubic` 新增算子原语。
951- `mindspore.ops.Triu` 新增算子原语。
952- `mindspore.ops.Zeta` 新增算子原语。
953
954#### 非兼容性接口变更
955
956- 接口名称:mindspore.ops.MultitypeFuncGraph
957
958  变更内容:该接口参数doc_url在MindSpore 2.0.0.rc1版本作为测试特性,MindSpore 2.0.0版本优化后用户不需要额外配置此参数,故此参数在MindSpore 2.0.0版本删除。
959
960  <table>
961  <tr>
962  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0 接口</td>
963  </tr>
964  <tr>
965  <td><pre>
966  mindspore.ops.MultitypeFuncGraph(name, read_value=False, doc_url="")
967  </pre>
968  </td>
969  <td><pre>
970  mindspore.ops.MultitypeFuncGraph(name, read_value=False)
971  </pre>
972  </td>
973  </tr>
974  </table>
975
976- 接口名称:mindspore.set_context(auto_tune_mode="GA,RL")
977
978  变更内容:下线算子AutoTune调优工具,删除auto_tune_mode选项,未来会规划新的调优工具。
979
980- 接口名称:mindspore.set_context(mode=PYNATIVE_MODE)
981
982  变更内容:默认由GRAPH_MODE改为PYNATIVE_MODE。
983
984  说明:原有使用方式若未设置运行模式,该变更会影响性能,需要额外设置图模式,则使用以下方式:
985  mindspore.set_context(mode=GRAPH_MODE)。
986
987  <table>
988  <tr>
989  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
990  </tr>
991  <tr>
992  <td><pre>
993  mindspore.set_context(mode=GRAPH_MODE)
994  </pre>
995  </td>
996  <td><pre>
997  mindspore.set_context(mode=PYNATIVE_MODE)
998  </pre>
999  </td>
1000  </tr>
1001  </table>
1002
1003- 接口名称:mindspore.train.Model.train
1004
1005  变更内容:dataset_sink_mode 默认值由True改为False。
1006
1007  说明:原有使用方式若未设置dataset_sink_mode,该变更会影响性能,需要额外设置数据下沉运行模式,则使用以下方式:
1008  Model.train(dataset_sink_mode=True)。
1009
1010  <table>
1011  <tr>
1012  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1013  </tr>
1014  <tr>
1015  <td><pre>
1016  Model.train(dataset_sink_mode=True)
1017  </pre>
1018  </td>
1019  <td><pre>
1020  Model.train(dataset_sink_mode=False)
1021  </pre>
1022  </td>
1023  </tr>
1024  </table>
1025
1026- 接口名称:mindspore.export
1027
1028  变更内容:参数file_format由"AIR"改为不指定默认值。
1029
1030  说明:原有使用方式若未设置file_format,需要额外设置file_format,则使用以下方式:
1031  mindspore.export(net, *inputs, file_name, file_format="AIR", **kwargs)。
1032
1033  <table>
1034  <tr>
1035  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1036  </tr>
1037  <tr>
1038  <td><pre>
1039  mindspore.export(net, *inputs, file_name,
1040                   file_format="AIR", **kwargs)
1041  </pre>
1042  </td>
1043  <td><pre>
1044  mindspore.export(net, *inputs, file_name,
1045                   file_format, **kwargs)
1046  </pre>
1047  </td>
1048  </tr>
1049  </table>
1050
1051- 接口名称:mindspore.ops.norm
1052
1053  变更内容:扩展ord参数功能,支持多种形式。
1054
1055  <table>
1056  <tr>
1057  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1058  </tr>
1059  <tr>
1060  <td><pre>
1061  ops.norm(input_x, axis, p=2, keep_dims=False, epsilon=1e-12)
1062  >>> # 举例:
1063  >>> input = Tensor(np.array([[[1.0, 2.0], [3.0, 4.0]],
1064  ...                          [[5.0, 6.0], [7.0, 8.0]]]).astype(np.float32))
1065  >>> output = ops.norm(input, [0, 1], p=2)
1066  </pre></td>
1067  <td><pre>
1068  ops.norm(A, ord=None, dim=None, keepdim=False, *, dtype=None)
1069  >>> # 举例:
1070  >>> input = Tensor(np.array([[[1.0, 2.0], [3.0, 4.0]],
1071  ...                          [[5.0, 6.0], [7.0, 8.0]]]).astype(np.float32))
1072  >>> output = ops.norm(input, ord=2, dim=(0, 1))
1073  </pre>
1074  </td>
1075  </tr>
1076  </table>
1077
1078- 接口名称:mindspore.Tensor.norm
1079
1080  变更内容:扩展ord参数功能,支持多种形式。
1081
1082  说明:参考ops.norm例子。
1083
1084  <table>
1085  <tr>
1086  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1087  </tr>
1088  <tr>
1089  <td><pre>
1090  Tensor.norm(axis, p=2, keep_dims=False, epsilon=1e-12)
1091  </pre>
1092  </td>
1093  <td><pre>
1094  Tensor.norm(ord=None, dim=None, keepdim=False, *, dtype=None)
1095  </pre>
1096  </td>
1097  </tr>
1098  </table>
1099
1100- 接口名称:mindspore.ops.dropout
1101
1102  变更内容:删除seed0、seed1参数,新增参数seed=None。由返回Tensor和掩码改为只返回Tensor,新增入参training=True。
1103
1104  <table>
1105  <tr>
1106  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1107  </tr>
1108  <tr>
1109  <td><pre>
1110  ops.dropout(x, p=0.5, seed0=0, seed1=0)
1111  >>> # 举例:
1112  >>> input = Tensor(((20, 16), (50, 50)),
1113  ...                mindspore.float32)
1114  >>> output, mask = dropout(x, p=0.5)
1115  </pre>
1116  </td>
1117  <td><pre>
1118  ops.dropout(input, p=0.5, training=True, seed=None)
1119  >>> # 举例:
1120  >>> input = Tensor(((20, 16), (50, 50)),
1121  ...                mindspore.float32)
1122  >>> output = ops.dropout(input, p=0.5,training=True)
1123  </pre>
1124  </td>
1125  </tr>
1126  </table>
1127
1128- 接口名称:mindspore.ops.dropout2d
1129
1130  变更内容:返回值从Tensor和掩码改为只返回Tensor,新增入参training=True。
1131
1132  <table>
1133  <tr>
1134  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1135  </tr>
1136  <tr>
1137  <td>
1138  <pre>
1139  ops.dropout2d(x, p=0.5)
1140  >>> # 举例:
1141  >>> input = Tensor(np.ones([2, 1, 2, 3]),
1142  ...                mindspore.float32)
1143  >>> output, mask = dropout2d(input, 0.5)
1144  </pre>
1145  </td>
1146  <td>
1147  <pre>
1148  ops.dropout2d(input, p=0.5, training=True)
1149  >>> # 举例:
1150  >>> input = Tensor(np.ones([2, 1, 2, 3]),
1151  ...                mindspore.float32)
1152  >>> output = ops.dropout2d(input, 0.5, training=True)
1153  </pre>
1154  </td>
1155  </tr>
1156  </table>
1157
1158- 接口名称:mindspore.ops.dropout3d
1159
1160  变更内容:返回值从Tensor和掩码改为只返回Tensor,新增入参training=True。
1161
1162  <table>
1163  <tr>
1164  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1165  </tr>
1166  <tr>
1167  <td><pre>
1168  ops.dropout3d(x, p=0.5)
1169  >>> # 举例:
1170  >>> input = Tensor(np.ones([2, 1, 2, 3]),
1171  ...                mindspore.float32)
1172  >>> output, mask = dropout3d(input, 0.5)
1173  </pre>
1174  </td>
1175  <td><pre>
1176  ops.dropout3d(input, p=0.5, training=True)
1177  >>> # 举例:
1178  >>> input = Tensor(np.ones([2, 1, 2, 3]),
1179  ...                mindspore.float32)
1180  >>> output = ops.dropout3d(input, 0.5, training=True)
1181  </pre>
1182  </td>
1183  </tr>
1184  </table>
1185
1186- 接口名称:mindspore.ops.std
1187
1188  变更内容:接口重构,接口使用方式更符合用户使用习惯。
1189
1190  说明:原有unbiased如果已显示设置,采用以下替代方案:
1191  ddof=0替代unbiased=False,ddof=1替代unbiased=True。
1192
1193  <table>
1194  <tr>
1195  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1196  </tr>
1197  <tr>
1198  <td><pre>
1199  ops.std(input_x, axis=(), unbiased=True, keep_dims=False)
1200  </pre>
1201  </td>
1202  <td><pre>
1203  ops.std(input, axis=None, ddof=0, keepdims=False)
1204  </pre>
1205  </td>
1206  </tr>
1207  </table>
1208
1209- 接口名称:mindspore.load_param_into_net
1210
1211  变更内容:新增ckpt中未加载的参数作为返回值。
1212
1213  <table>
1214  <tr>
1215  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1216  </tr>
1217  <tr>
1218  <td><pre>
1219  net_param = load_param_into_net()
1220  </pre>
1221  </td>
1222  <td><pre>
1223  net_param, ckpt_param = load_param_into_net()
1224  </pre>
1225  </td>
1226  </tr>
1227  </table>
1228
1229- 接口名称:mindspore.nn.BCELoss
1230
1231  变更内容:`reduction` 默认值由'none'变为'mean'。
1232
1233  <table>
1234  <tr>
1235  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1236  </tr>
1237  <tr>
1238  <td><pre>
1239  BCELoss(weight=None, reduction='none')
1240  >>> # 举例:
1241  >>> weight = Tensor(np.array([[1.0, 2.0, 3.0],
1242  ...                           [4.0, 3.3, 2.2]]),
1243  ...                 mindspore.float32)
1244  >>> loss = nn.BCELoss(weight=weight, reduction='mean')
1245  >>> logits = Tensor(np.array([[0.1, 0.2, 0.3],
1246  ...                           [0.5, 0.7, 0.9]]),
1247  ...                 mindspore.float32)
1248  >>> labels = Tensor(np.array([[0, 1, 0], [0, 0, 1]]),
1249  ...                 mindspore.float32)
1250  >>> output = loss(logits, labels)
1251  >>> print(output)
1252  >>> 1.8952923
1253  </pre>
1254  </td>
1255  <td><pre>
1256  BCELoss(weight=None, reduction='mean')
1257  >>> # 举例:
1258  >>> weight = Tensor(np.array([[1.0, 2.0, 3.0],
1259  ...                           [4.0, 3.3, 2.2]]),
1260  ...                 mindspore.float32)
1261  >>> loss = nn.BCELoss(weight=weight)
1262  >>> logits = Tensor(np.array([[0.1, 0.2, 0.3],
1263  ...                           [0.5, 0.7, 0.9]]),
1264  ...                 mindspore.float32)
1265  >>> labels = Tensor(np.array([[0, 1, 0], [0, 0, 1]]),
1266  ...                 mindspore.float32)
1267  >>> output = loss(logits, labels)
1268  >>> print(output)
1269  >>> 1.8952923
1270  </pre>
1271  </td>
1272  </tr>
1273  </table>
1274
1275- 接口名称:mindspore.ops.split
1276
1277  变更内容:接口重构,接口使用方式更符合用户使用习惯,调整第2个和第3个参数的顺序,修改并扩展split_size_or_sections功能。
1278
1279  <table>
1280  <tr>
1281  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1282  </tr>
1283  <tr>
1284  <td><pre>
1285  ops.split(input_x, axis=0, output_num=1)
1286  >>> # 举例:
1287  >>> input = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]),
1288  ...                mindspore.int32)
1289  >>> output = ops.split(input, axis=1, output_num=4)
1290  </pre>
1291  </td>
1292  <td><pre>
1293  ops.split(tensor, split_size_or_sections, axis=0)
1294  >>> # 举例:
1295  >>> input = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]),
1296  ...                mindspore.int32)
1297  >>> output = ops.split(input, split_size_or_sections=1, axis=1)
1298  </pre>
1299  </td>
1300  </tr>
1301  </table>
1302
1303- 接口名称:mindspore.Tensor.split
1304
1305  变更内容:接口重构,接口使用方式更符合用户使用习惯,调整两个参数的位置,修改并扩展split_size_or_sections功能。
1306
1307  说明:参考ops.split例子。
1308
1309  <table>
1310  <tr>
1311  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1312  </tr>
1313  <tr>
1314  <td><pre>
1315  Tensor.split(axis=0, output_num=1)
1316  </pre>
1317  </td>
1318  <td><pre>
1319  Tensor.split(split_size_or_sections, axis=0)
1320  </pre>
1321  </td>
1322  </tr>
1323  </table>
1324
1325- 接口名称:mindspore.ops.pad
1326
1327  变更内容:修改参数名paddings为padding,添加mode和value功能。
1328
1329  <table>
1330  <tr>
1331  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1332  </tr>
1333  <tr>
1334  <td><pre>
1335  ops.pad(input_x, paddings)
1336  >>> # 举例:
1337  >>> input_x = Tensor(np.array([[-0.1, 0.3, 3.6],
1338  ...                            [0.4, 0.5, -3.2]]),
1339  ...                  mindspore.float32)
1340  >>> paddings = ((1, 2), (2, 1))
1341  >>> output = ops.pad(input_x, paddings)
1342  </pre>
1343  </td>
1344  <td><pre>
1345  ops.pad(input_x, padding, mode='constant', value=None)
1346  >>> # 举例:
1347  >>> input_x = Tensor(np.array([[-0.1, 0.3, 3.6],
1348  ...                            [0.4, 0.5, -3.2]]),
1349  ...                  mindspore.float32)
1350  >>> paddings = (2, 1, 1, 2)
1351  >>> output = ops.pad(input_x, paddings)
1352  </pre>
1353  </td>
1354  </tr>
1355  </table>
1356
1357- 接口名称:mindspore.ops.meshgrid
1358
1359  变更内容:入参由inputs改为*input。
1360
1361  <table>
1362  <tr>
1363  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1364  </tr>
1365  <tr>
1366  <td><pre>
1367  ops.meshgrid(inputs, indexing='xy')
1368  >>> # 举例:
1369  >>> x = Tensor(np.array([1, 2, 3, 4]).astype(np.int32))
1370  >>> y = Tensor(np.array([5, 6, 7]).astype(np.int32))
1371  >>> z = Tensor(np.array([8, 9, 0, 1, 2]).astype(np.int32))
1372  >>> output = ops.meshgrid((x, y, z), indexing='xy')
1373  </pre>
1374  </td>
1375  <td><pre>
1376  ops.meshgrid(*inputs, indexing='xy')
1377  >>> # 举例:
1378  >>> x = Tensor(np.array([1, 2, 3, 4]).astype(np.int32))
1379  >>> y = Tensor(np.array([5, 6, 7]).astype(np.int32))
1380  >>> z = Tensor(np.array([8, 9, 0, 1, 2]).astype(np.int32))
1381  >>> output = ops.meshgrid(x, y, z, indexing='xy')
1382  </pre>
1383  </td>
1384  </tr>
1385  </table>
1386
1387- 接口名称:mindspore.ops.max
1388
1389  变更内容:返回值调换顺序,由:“下标,最大值”改为“最大值,下标”。
1390
1391  <table>
1392  <tr>
1393  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1394  </tr>
1395  <tr>
1396  <td><pre>
1397  ops.max(x, axis=0, keep_dims=False)
1398  >>> # 举例:
1399  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
1400  ...                mindspore.float32)
1401  >>> index, output = ops.max(input)
1402  >>> print(index, output)
1403  >>> 3 0.7
1404  </pre>
1405  </td>
1406  <td><pre>
1407  ops.max(input, axis=None, keepdims=False, *, initial=None, where=True, return_indices=False)
1408  >>> # 举例:
1409  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
1410  ...                mindspore.float32)
1411  >>> output, index = ops.max(input, axis=0)
1412  >>> print(output, index)
1413  </pre>
1414  </td>
1415  </tr>
1416  </table>
1417
1418- 接口名称:mindspore.ops.min
1419
1420  变更内容:返回值调换顺序,由:“下标,最小值”改为“最小值,下标”。
1421
1422  <table>
1423  <tr>
1424  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1425  </tr>
1426  <tr>
1427  <td><pre>
1428  ops.min(x, axis=0, keep_dims=False)
1429  >>> # 举例:
1430  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
1431  ...                mindspore.float32)
1432  >>> index, output = ops.min(input)
1433  >>> 0 0.0
1434  </pre>
1435  </td>
1436  <td><pre>
1437  ops.min(input, axis=None, keepdims=False, *, initial=None, where=True, return_indices=False)
1438  >>> # 举例:
1439  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
1440  ...                mindspore.float32)
1441  >>> output, index = ops.min(input, keepdims=True)
1442  >>> 0.0 0
1443  </pre>
1444  </td>
1445  </tr>
1446  </table>
1447
1448- 接口名称:mindspore.ops.random_gamma
1449
1450  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
1451
1452  <table>
1453  <tr>
1454  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1455  </tr>
1456  <tr>
1457  <td><pre>
1458  ops.random_gamma(shape, alpha, seed=0, seed2=0)
1459  </pre>
1460  </td>
1461  <td><pre>
1462  ops.random_gamma(shape, alpha, seed=None)
1463  </pre>
1464  </td>
1465  </tr>
1466  </table>
1467
1468- 接口名称:mindspore.ops.standard_laplace
1469
1470  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
1471
1472  <table>
1473  <tr>
1474  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1475  </tr>
1476  <tr>
1477  <td><pre>
1478  ops.standard_laplace(shape, seed=0, seed2=0)
1479  </pre>
1480  </td>
1481  <td><pre>
1482  ops.standard_laplace(shape, seed=None)
1483  </pre>
1484  </td>
1485  </tr>
1486  </table>
1487
1488- 接口名称:mindspore.ops.standard_normal
1489
1490  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
1491
1492  <table>
1493  <tr>
1494  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1495  </tr>
1496  <tr>
1497  <td><pre>
1498  ops.standard_normal(shape, seed=0, seed2=0)
1499  </pre>
1500  </td>
1501  <td><pre>
1502  ops.standard_normal(shape, seed=None)
1503  </pre>
1504  </td>
1505  </tr>
1506  </table>
1507
1508- 接口名称:mindspore.ops.bernoulli
1509
1510  变更内容:seed的默认值由-1改为None。符合用户实际使用场景。
1511
1512  <table>
1513  <tr>
1514  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1515  </tr>
1516  <tr>
1517  <td><pre>
1518  ops.bernoulli(x, p=0.5, seed=-1)
1519  </pre>
1520  </td>
1521  <td><pre>
1522  ops.bernoulli(input, p=0.5, seed=None)
1523  </pre>
1524  </td>
1525  </tr>
1526  </table>
1527
1528- 接口名称:mindspore.data_sink
1529
1530  变更内容:删除steps参数,jit参数名称修改为jit_config,新增input_signature参数。增加易用性,符合用户实际使用场景。
1531
1532  <table>
1533  <tr>
1534  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1535  </tr>
1536  <tr>
1537  <td><pre>
1538  mindspore.data_sink(fn, dataset, steps,
1539                      sink_size=1, jit=False)
1540  </pre>
1541  </td>
1542  <td><pre>
1543  mindspore.data_sink(fn, dataset, sink_size=1,
1544                      jit_config=None, input_signature=None)
1545  </pre>
1546  </td>
1547  </tr>
1548  </table>
1549
1550- 接口名称:mindspore.ops.conv2d
1551
1552  变更内容:扩展接口功能,添加bias参数,修改参数名及参数顺序。
1553
1554  <table>
1555  <tr>
1556  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1557  </tr>
1558  <tr>
1559  <td><pre>
1560  conv2d(inputs, weight, pad_mode="valid",
1561         padding=0, stride=1, dilation=1, group=1)
1562  </pre>
1563  </td>
1564  <td><pre>
1565  conv2d(input, weight, bias=None, stride=1,
1566         pad_mode="valid", padding=0, dilation=1, groups=1)
1567  </pre>
1568  </td>
1569  </tr>
1570  </table>
1571
1572- 接口名称:mindspore.dataset.vision.Pad
1573
1574  变更内容:调整Pad、RandomCrop、RandomCropWithBbox入参padding,当Padding输入长度为2的序列时,行为将从使用第一个值填充左/上边界,使用第二个值填充右/下边界,变为使用第一个值填充左/右边界,使用第二个值填充上/下边界。
1575
1576  说明:仅使用size为2的padding参数无法兼容旧版本的效果,需显式表示(左、右、上、下)。
1577
1578  <table>
1579  <tr>
1580  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1581  </tr>
1582  <tr>
1583  <td><pre>
1584  mindspore.dataset.vision.Pad(padding=(1,2))
1585  代表图片的左/上填充 1像素,右/下填充 2像素
1586  </pre>
1587  </td>
1588  <td><pre>
1589  mindspore.dataset.vision.Pad(padding=(1,2,1,2))
1590  代表图片的左/上填充 1像素,右/下填充 2像素
1591  </pre>
1592  </td>
1593  </tr>
1594  </table>
1595
1596- 接口名称:mindspore.dataset.Dataset.map
1597
1598  变更内容:删除column_order参数。因为在绝大部分的情况下,output_columns参数与column_order参数都是同一个值,不需要再传入column_order。若需要调整数据列顺序,使用mindspore.dataset.Dataset.project实现。
1599
1600  说明:
1601
1602  1) 在不需要改变列顺序时,直接去掉column_order参数即可。
1603  2) 需要指定数据列顺序时,删除column_order参数,并在后面加上一个project方法进行列变换(如下面的例子)。
1604
1605  <table>
1606  <tr>
1607  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1608  </tr>
1609  <tr>
1610  <td><pre>
1611  >>> dataset = dataset.map(operations=[transforms],
1612  ...                       input_columns=["column_a"],
1613  ...                       output_columns=["column_b", "column_c"],
1614  ...                       column_order=["column_c", "column_b"])
1615  </pre>
1616  </td>
1617  <td><pre>
1618  >>> dataset = dataset.map(operations=[transforms],
1619  ...                       input_columns=["column_a"],
1620  ...                       output_columns=["column_b", "column_c"])
1621  >>> dataset = dataset.project(["column_c", column_b"])")
1622  </pre>
1623  </td>
1624  </tr>
1625  </table>
1626
1627- 接口名称:mindspore.dataset.Dataset.batch
1628
1629  变更内容:删除column_order参数。因为在绝大部分的情况下,output_columns参数与column_order参数都是同一个值,不需要再传入column_order。若需要调整数据列顺序,使用mindspore.dataset.Dataset.project实现。
1630
1631  说明:
1632
1633  1) 在不需要改变列顺序时,直接去掉column_order参数即可。
1634  2) 需要指定数据列顺序时,删除column_order参数,并在后面加上一个project方法进行列变换(如下面的例子)。
1635
1636  <table>
1637  <tr>
1638  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1639  </tr>
1640  <tr>
1641  <td><pre>
1642  >>> dataset = dataset.batch(batch_size=4,
1643  ...                         input_columns=["column_a"],
1644  ...                         output_columns=["column_b", "column_c"],
1645  ...                         column_order=["column_c", "column_b"])
1646  </pre>
1647  </td>
1648  <td><pre>
1649  >>> dataset = dataset.batch(batch_size=4, input_columns=["column_a"]
1650  ...                         output_columns=["column_b", "column_c"])
1651  >>> dataset = dataset.project(["column_c", column_b"])")
1652  </pre>
1653  </td>
1654  </tr>
1655  </table>
1656
1657- 接口名称:mindspore.dataset.Dataset.batch
1658
1659  变更内容:将batch方法拆分为:batch和padded_batch两个方法。pad_info参数从batch方法移动到padded_batch方法。
1660
1661  说明:如需使用pad_info参数,改用padded_batch方法。
1662
1663  <table>
1664  <tr>
1665  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1666  </tr>
1667  <tr>
1668  <td><pre>
1669  >>> dataset = dataset.batch(batch_size=4,
1670  ...                         drop_remainder=True, pad_info=...)
1671  </pre>
1672  </td>
1673  <td><pre>
1674  >>> dataset = dataset.padded_batch(batch_size=4,
1675  ...                                drop_remainder=True, pad_info=...)
1676  </pre>
1677  </td>
1678  </tr>
1679  </table>
1680
1681### Bug fixes
1682
1683- [I62I3J] 修复bgcf网络在昇腾310上推理失败的问题
1684- [I7C2W3] 修复Pipeline并行场景下多loss打印编译失败问题
1685
1686### 贡献者
1687
1688感谢以下人员做出的贡献:
1689
1690alashkari,anzhengqi,archer2049,B.L.LAN,baihuawei,bichaoyang,BJ-WANG,Bokai Li,Brian-K,caifubi,caiyimeng,cathwong,changzherui,ChenDonYY,chenfei_mindspore,chengang,chengbin,chenhaozhe,chenjianping,chenkang,chenweifeng,chuht,chujinjin,davidanugraha,DavidFFFan,DeshiChen,douzhixing,emmmmtang,Erpim,Ethan,fangwenyi,fangzehua,fangzhou0329,fary86,fengyixing,gaoshuanglong,Gaoxiong,gaoyong10,gengdongjie,gongdaguo1,Greatpan,GuoZhibin,guozhijian,hangq,hanhuifeng,haozhang,hedongdong,Henry Shi,heterogeneous_to_backoff_2_0,huangbingjian,huanghui,huangxinjing,hujiahui8,hujingsong,huoxinyou,jachua,jiahongQian,jianghui58,jiangzhenguang,jiaorui,jiaoy1224,jijiarong,jjfeing,JoeyLin,json,JuiceZ,jxl,kairui_kou,KevinYi,kisnwang,KXiong,laiyongqiang,lanzhineng,liangchenghui,liangzelang,LiangZhibo,lianliguang,lichen,ligan,lijunbin,limingqi107,ling,linqingke,liubuyu,liuchao,liuchuting,liujunzhu,liuluobin,liutongtong9,liuyang811,lixiao,liyan2022,liyejun,liyuxia,looop5,luochao60,luojianing,luoyang,luoyuan,lyqlola,maning202007,maoyaomin,Margaret_wangrui,mayadong,MaZhiming,melody,mengyuanli,michaelzhu_70ab,Mohammad Motallebi,moran,NaCN,nomindcarry,OwenSec,panfengfeng,panshaowu,panzhihui,pkuliuliu,qinzheng,qiuzhongya,qujianwei,r1chardf1d0,Renyuan Zhang,RobinGrosman,shaojunsong,shenwei41,Soaringfish,tangdezhi_123,tanghuikang,tan-wei-cheng,TinaMengtingZhang,TronZhang,TuDouNi,VectorSL,wang_ziqi,wanghenchang,wangnan39,wangpingan,wangshaocong,wangshengnan123,wangtongyu6,weichaoran,wind-zyx,wqx,wtcheng,wujueying,wYann,XianglongZeng,xiaohanzhang,xiaotianci,xiaoyao,XinDu,xulei,xumengjuan1,xupan,xwkgch,yanghaoran,yangluhang,yangruoqi713,yangshuo,yangsijia,yangzhenzhang,yanzhenxiang2020,Yanzhi_YI,yao_yf,yefeng,yeyunpeng2020,Yi_zhang95,yide12,YijieChen,YingLai Lin,YingtongHu,youshu,yuchaojie,yuedongli,YuJianfeng,zangqx,ZengZitao,zhangbuxue,zhangdanyang,zhangdong,zhangfanghe,zhangqi,zhangqinghua,zhangyanhui,zhangyinxia,zhangyongxian,zhangzhaoju,zhanzhan,zhengzuohe,ZhidanLiu,zhixinaa,zhoufeng,zhouyaqiang0,zhuguodong,zhupuxu,zhuyuxiao,zichun_ye,zjun,zlq2020,zong_shuai,ZPaC,zuochuanyong,zyli2020,陈宇,范吉斌,冯一航,胡彬,宦晓玲,黄勇,雷元哲,李良灿,李林杰,刘崇鸣,刘力力,刘勇琪,吕浩宇,吕昱峰(Nate.River),没有窗户的小巷,沈竞兴,十六夜,王程浩,王禹程,王振邦,徐安越,徐永飞,杨旭华,于振华,俞涵,张清华,张澍坤,张栩浩,张学同,赵英灼,周超,周洪叶,朱家兴
1691
1692欢迎以任何形式对项目提供贡献!
1693
1694## MindSpore 2.0.0-rc1 Release Notes
1695
1696### 主要特性和增强
1697
1698#### FrontEnd
1699
1700- [BETA] 静态图模式下,函数及类方法支持"return None"、"return"、无"return"语法。
1701- [BETA] 静态图模式下,支持返回list类型对象。
1702- [BETA] 静态图模式下,变量条件时,支持"raise"语法。
1703- [STABLE] 函数式调用支持数据下沉模式。
1704- [BETA] nn下新增Transformer层,提供更加易用的Transformer API,无需定义batch_size,支持动态seq_length。
1705
1706#### DataSet
1707
1708- [STABLE] Ascend环境下,数据下沉模式超时等待时间调整,默认调整到1900s,以解决数据下沉模式时因环境资源竞争、计算量大等因素容易导致GetNext算子等待超时的问题。
1709- [STABLE] MindRecord提供Schema、样本数查询接口,并提供多进程并行写入功能,允许用户更快生成MindRecord数据文件。
1710- [STABLE] Dataset流水线支持处理任意Python对象,用法参考[数据pipeline支持Python对象](https://www.mindspore.cn/tutorials/zh-CN/r2.0/advanced/dataset/python_objects.html)1711
1712#### AutoParallel
1713
1714- [STABLE] 策略保存时支持保存完整策略。
1715- [STABLE] 支持Conv3D/MaxPool3D/AvgPool3D分布式算子。
1716- [STABLE] 支持PyNative+shard算子级并行+优化器并行:并行表达和Model进行解耦,提供基础的并行表达能力。
1717- [STABLE] 支持图模式算子级并行+优化器并行:并行表达和Model进行解耦,提供基础的并行表达能力。
1718- [BETA] 支持自定义分布式图切分,提升分布式训练的灵活性。
1719
1720#### Runtime
1721
1722- [STABLE] 控制流支持子图下沉。
1723- [STABLE] 支持CUDA 11.6。
1724- [STABLE] 支持List/Tuple/Scalar类型算子的算子选择和执行,配套Python原生表达。
1725- [STABLE] 硬件不支持的算子自动选择CPU算子。
1726- [STABLE] 支持子图内部异构执行。
1727
1728#### Ascend
1729
1730- [STABLE] 支持CANN溢出检测新方案和HCCL运行态溢出检测。
1731- [STABLE] 支持集合通信算子dump功能。
1732
1733#### Profiler
1734
1735- [STABLE] 丰富Profiler采集项配置,用户可以更细度地采集性能数据。
1736
1737#### Dump
1738
1739- [BETA] 单卡PyNatvie模式支持算子溢出检测。
1740- [BETA] Graph模式支持hccl算子dump。
1741
1742### API变更
1743
1744- [STABLE] 新增计算类API,如:MaxUnpool、ReplicationPad、GaussianNLLLoss等。
1745  详情请参考:<https://www.mindspore.cn/docs/zh-CN/r2.0/api_python/mindspore.html>。
1746- [STABLE] 扩展存量API功能,如:AvgPool、pad、norm、interplate等。
1747
1748#### 算子
1749
1750- [BETA] `mindspore.ops.AdaptiveAvgPool3D` 新增算子原语。
1751- [BETA] `mindspore.ops.AffineGrid` 新增算子原语。
1752- [BETA] `mindspore.ops.Angle` 新增算子原语。
1753- [BETA] `mindspore.ops.BartlettWindow` 新增算子原语。
1754- [BETA] `mindspore.ops.Bernoulli` 新增算子原语。
1755- [BETA] `mindspore.ops.BesselI0` 新增算子原语。
1756- [BETA] `mindspore.ops.BesselI1` 新增算子原语。
1757- [BETA] `mindspore.ops.BesselJ0` 新增算子原语。
1758- [BETA] `mindspore.ops.BesselJ1` 新增算子原语。
1759- [BETA] `mindspore.ops.BesselK0` 新增算子原语。
1760- [BETA] `mindspore.ops.BesselK0e` 新增算子原语。
1761- [BETA] `mindspore.ops.BesselK1` 新增算子原语。
1762- [BETA] `mindspore.ops.BesselK1e` 新增算子原语。
1763- [BETA] `mindspore.ops.BesselY0` 新增算子原语。
1764- [BETA] `mindspore.ops.BesselY1` 新增算子原语。
1765- [BETA] `mindspore.ops.Bincount` 新增算子原语。
1766- [BETA] `mindspore.ops.BlackmanWindow` 新增算子原语。
1767- [BETA] `mindspore.ops.ChannelShuffle` 新增算子原语。
1768- [BETA] `mindspore.ops.Cholesky` 新增算子原语。
1769- [BETA] `mindspore.ops.Col2Im` 新增算子原语。
1770- [BETA] `mindspore.ops.Complex` 新增算子原语。
1771- [BETA] `mindspore.ops.ComplexAbs` 新增算子原语。
1772- [BETA] `mindspore.ops.Cross` 新增算子原语。
1773- [BETA] `mindspore.ops.CTCLossV2` 新增算子原语。
1774- [BETA] `mindspore.ops.Cummin` 新增算子原语。
1775- [BETA] `mindspore.ops.Diag` 新增算子原语。
1776- [BETA] `mindspore.ops.Digamma` 新增算子原语。
1777- [BETA] `mindspore.ops.Expand` 新增算子原语。
1778- [BETA] `mindspore.ops.Fmax` 新增算子原语。
1779- [BETA] `mindspore.ops.Gcd` 新增算子原语。
1780- [BETA] `mindspore.ops.Geqrf` 新增算子原语。
1781- [BETA] `mindspore.ops.GLU` 新增算子原语。
1782- [BETA] `mindspore.ops.GridSampler2D` 新增算子原语。
1783- [BETA] `mindspore.ops.GridSampler3D` 新增算子原语。
1784- [BETA] `mindspore.ops.HammingWindow` 新增算子原语。
1785- [BETA] `mindspore.ops.Heaviside` 新增算子原语。
1786- [BETA] `mindspore.ops.Hypot` 新增算子原语。
1787- [BETA] `mindspore.ops.Igamma` 新增算子原语。
1788- [BETA] `mindspore.ops.IndexFill` 新增算子原语。
1789- [BETA] `mindspore.ops.InplaceIndexAdd` 新增算子原语。
1790- [BETA] `mindspore.ops.InplaceUpdateV2` 新增算子原语。
1791- [BETA] `mindspore.ops.Lcm` 新增算子原语。
1792- [BETA] `mindspore.ops.LeftShift` 新增算子原语。
1793- [BETA] `mindspore.ops.LogicalXor` 新增算子原语。
1794- [BETA] `mindspore.ops.Logit` 新增算子原语。
1795- [BETA] `mindspore.ops.LogSpace` 新增算子原语。
1796- [BETA] `mindspore.ops.LuUnpack` 新增算子原语。
1797- [BETA] `mindspore.ops.MatrixDiagPartV3` 新增算子原语。
1798- [BETA] `mindspore.ops.MatrixDiagV3` 新增算子原语。
1799- [BETA] `mindspore.ops.MatrixSetDiagV3` 新增算子原语。
1800- [BETA] `mindspore.ops.MaxPool3DWithArgmax` 新增算子原语。
1801- [BETA] `mindspore.ops.MaxUnpool2D` 新增算子原语。
1802- [BETA] `mindspore.ops.MaxUnpool3D` 新增算子原语。
1803- [BETA] `mindspore.ops.MultiMarginLoss` 新增算子原语。
1804- [BETA] `mindspore.ops.MultinomialWithReplacement` 新增算子原语。
1805- [BETA] `mindspore.ops.Mvlgamma` 新增算子原语。
1806- [BETA] `mindspore.ops.NanToNum` 新增算子原语。
1807- [BETA] `mindspore.ops.NextAfter` 新增算子原语。
1808- [BETA] `mindspore.ops.Orgqr` 新增算子原语。
1809- [BETA] `mindspore.ops.Polygamma` 新增算子原语。
1810- [BETA] `mindspore.ops.ResizeBilinearV2` 新增算子原语。
1811- [BETA] `mindspore.ops.RightShift` 新增算子原语。
1812- [BETA] `mindspore.ops.ScatterNdDiv` 新增算子原语。
1813- [BETA] `mindspore.ops.ScatterNdMul` 新增算子原语。
1814- [BETA] `mindspore.ops.SearchSorted` 新增算子原语。
1815- [BETA] `mindspore.ops.Sinc` 新增算子原语。
1816- [BETA] `mindspore.ops.Trace` 新增算子原语。
1817- [BETA] `mindspore.ops.Tril` 新增算子原语。
1818- [BETA] `mindspore.ops.TrilIndices` 新增算子原语。
1819- [BETA] `mindspore.ops.TriuIndices` 新增算子原语。
1820- [BETA] `mindspore.ops.UniqueConsecutive` 新增算子原语。
1821- [STABLE] `mindspore.ops.Cummax` 新增算子原语。
1822- [STABLE] `mindspore.ops.FillV2` 新增算子原语。
1823- [STABLE] `mindspore.ops.IsClose` 新增算子原语。
1824- [STABLE] `mindspore.ops.MatrixSolve` 新增算子原语。
1825- [STABLE] `mindspore.ops.Median` 新增算子原语。
1826- [STABLE] `mindspore.ops.MultilabelMarginLoss` 新增算子原语。
1827- [STABLE] `mindspore.ops.NonZero` 新增算子原语。
1828- [STABLE] `mindspore.ops.Pdist` 新增算子原语。
1829- [STABLE] `mindspore.ops.Polar` 新增算子原语。
1830- [STABLE] `mindspore.ops.RandomGamma` 新增算子原语。
1831- [STABLE] `mindspore.ops.RandomPoisson` 新增算子原语。
1832- [STABLE] `mindspore.ops.RandomShuffle` 新增算子原语。
1833- [STABLE] `mindspore.ops.Renorm` 新增算子原语。
1834- [STABLE] `mindspore.ops.ScatterNdMax` 新增算子原语。
1835- [STABLE] `mindspore.ops.ScatterNdMin` 新增算子原语。
1836- [STABLE] `mindspore.ops.Svd` 新增算子原语。
1837- [STABLE] `mindspore.ops.TripletMarginLoss` 新增算子原语。
1838
1839#### 删除接口
1840
1841- `mindspore.compression`特性在MindSpore 1.8版本已经废弃,在当前版本被删除。用户可以使用[昇思金箍棒](https://gitee.com/mindspore/golden-stick)作为`mindspore.compression`的替代品来实现MindSpore中的量化感知训练算法。
1842- `mindspore.dataset.close_pool`、`mindspore.dataset.to_device`、`mindspore.dataset.set_dynamic_columns` 接口在之前版本已废弃,当前版本正式删除。
1843
1844#### 非兼容性接口变更
1845
1846- 接口名称:mindspore.set_context(mode=PYNATIVE_MODE)
1847
1848  变更内容:默认由GRAPH_MODE改为PYNATIVE_MODE。
1849
1850  说明:原有使用方式若未设置运行模式,该变更会影响性能,需要额外设置图模式,则使用以下方式:
1851  mindspore.set_context(mode=GRAPH_MODE)。
1852
1853  <table>
1854  <tr>
1855  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1856  </tr>
1857  <tr>
1858  <td><pre>
1859  mindspore.set_context(mode=GRAPH_MODE)
1860  </pre>
1861  </td>
1862  <td><pre>
1863  mindspore.set_context(mode=PYNATIVE_MODE)
1864  </pre>
1865  </td>
1866  </tr>
1867  </table>
1868
1869- 接口名称:mindspore.train.Model.train
1870
1871  变更内容:dataset_sink_mode 默认值由True改为False。
1872
1873  说明:原有使用方式若未设置dataset_sink_mode,该变更会影响性能,需要额外设置数据下沉运行模式,则使用以下方式:
1874  Model.train(dataset_sink_mode=True)。
1875
1876  <table>
1877  <tr>
1878  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1879  </tr>
1880  <tr>
1881  <td><pre>
1882  Model.train(dataset_sink_mode=True)
1883  </pre>
1884  </td>
1885  <td><pre>
1886  Model.train(dataset_sink_mode=False)
1887  </pre>
1888  </td>
1889  </tr>
1890  </table>
1891
1892- 接口名称:mindspore.export
1893
1894  变更内容:参数file_format由"AIR"改为不指定默认值。
1895
1896  说明:原有使用方式若未设置file_format,需要额外设置file_format,则使用以下方式:
1897  mindspore.export(net, *inputs, file_name, file_format="AIR", **kwargs)。
1898
1899  <table>
1900  <tr>
1901  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1902  </tr>
1903  <tr>
1904  <td><pre>
1905  mindspore.export(net, *inputs, file_name,
1906                   file_format="AIR", **kwargs)
1907  </pre>
1908  </td>
1909  <td><pre>
1910  mindspore.export(net, *inputs, file_name,
1911                   file_format, **kwargs)
1912  </pre>
1913  </td>
1914  </tr>
1915  </table>
1916
1917- 接口名称:mindspore.ops.norm
1918
1919  变更内容:扩展ord参数功能,支持多种形式。
1920
1921  <table>
1922  <tr>
1923  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1924  </tr>
1925  <tr>
1926  <td><pre>
1927  ops.norm(input_x, axis, p=2, keep_dims=False, epsilon=1e-12)
1928  >>> # 举例:
1929  >>> input = Tensor(np.array([[[1.0, 2.0], [3.0, 4.0]],
1930  ...                          [[5.0, 6.0], [7.0, 8.0]]]).astype(np.float32))
1931  >>> output = ops.norm(input, [0, 1], p=2)
1932  </pre>
1933  </td>
1934  <td><pre>
1935  ops.norm(A, ord=None, dim=None, keepdim=False, *, dtype=None)
1936  >>> # 举例:
1937  >>> input = Tensor(np.array([[[1.0, 2.0], [3.0, 4.0]],
1938  ...                          [[5.0, 6.0], [7.0, 8.0]]]).astype(np.float32))
1939  >>> output = ops.norm(input, ord=2, dim=(0, 1))
1940  </pre>
1941  </td>
1942  </tr>
1943  </table>
1944
1945- 接口名称:mindspore.Tensor.norm
1946
1947  变更内容:扩展ord参数功能,支持多种形式。
1948
1949  说明:参考ops.norm例子。
1950
1951  <table>
1952  <tr>
1953  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1954  </tr>
1955  <tr>
1956  <td><pre>
1957  Tensor.norm(axis, p=2, keep_dims=False, epsilon=1e-12)
1958  </pre>
1959  </td>
1960  <td><pre>
1961  Tensor.norm(ord=None, dim=None, keepdim=False, *, dtype=None)
1962  </pre>
1963  </td>
1964  </tr>
1965  </table>
1966
1967- 接口名称:mindspore.ops.dropout
1968
1969  变更内容:删除seed0、seed1参数,新增参数seed=None。由返回Tensor和掩码改为只返回Tensor,新增入参training=True。
1970
1971  <table>
1972  <tr>
1973  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
1974  </tr>
1975  <tr>
1976  <td>
1977  <pre>
1978  ops.dropout(x, p=0.5, seed0=0, seed1=0)
1979  >>> # 举例:
1980  >>> input = Tensor(((20, 16), (50, 50)),
1981  ...                mindspore.float32)
1982  >>> output, mask = dropout(x, p=0.5)
1983  </pre>
1984  </td>
1985  <td>
1986  <pre>
1987  ops.dropout(input, p=0.5, training=True, seed=None)
1988  >>> # 举例:
1989  >>> input = Tensor(((20, 16), (50, 50)),
1990  ...                mindspore.float32)
1991  >>> output = ops.dropout(input, p=0.5,training=True)
1992  </pre>
1993  </td>
1994  </tr>
1995  </table>
1996
1997- 接口名称:mindspore.ops.dropout2d
1998
1999  变更内容:返回值从Tensor和掩码改为只返回Tensor,新增入参training=True。
2000
2001  <table>
2002  <tr>
2003  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2004  </tr>
2005  <tr>
2006  <td>
2007  <pre>
2008  ops.dropout2d(x, p=0.5)
2009  >>> # 举例:
2010  >>> input = Tensor(np.ones([2, 1, 2, 3]),
2011  ...                mindspore.float32)
2012  >>> output, mask = dropout2d(input, 0.5)
2013  </pre>
2014  </td>
2015  <td>
2016  <pre>
2017  ops.dropout2d(input, p=0.5, training=True)
2018  >>> # 举例:
2019  >>> input = Tensor(np.ones([2, 1, 2, 3]),
2020  ...                mindspore.float32)
2021  >>> output = ops.dropout2d(input, 0.5, training=True)
2022  </pre>
2023  </td>
2024  </tr>
2025  </table>
2026
2027- 接口名称:mindspore.ops.dropout3d
2028
2029  变更内容:返回值从Tensor和掩码改为只返回Tensor,新增入参training=True。
2030
2031  <table>
2032  <tr>
2033  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2034  </tr>
2035  <tr>
2036  <td><pre>
2037  ops.dropout3d(x, p=0.5)
2038  >>> # 举例:
2039  >>> input = Tensor(np.ones([2, 1, 2, 3]),
2040  ...                mindspore.float32)
2041  >>> output, mask = dropout3d(input, 0.5)
2042  </pre>
2043  </td>
2044  <td><pre>
2045  ops.dropout3d(input, p=0.5, training=True)
2046  >>> # 举例:
2047  >>> input = Tensor(np.ones([2, 1, 2, 3]),
2048  ...                mindspore.float32)
2049  >>> output = ops.dropout3d(input, 0.5, training=True)
2050  </pre>
2051  </td>
2052  </tr>
2053  </table>
2054
2055- 接口名称:mindspore.ops.std
2056
2057  变更内容:接口重构,接口使用方式更符合用户使用习惯。
2058
2059  说明:原有unbiased如果已显示设置,采用以下替代方案:
2060  ddof=0替代unbiased=False,ddof=1替代unbiased=True。
2061
2062  <table>
2063  <tr>
2064  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2065  </tr>
2066  <tr>
2067  <td><pre>
2068  ops.std(input_x, axis=(), unbiased=True, keep_dims=False)
2069  </pre>
2070  </td>
2071  <td><pre>
2072  ops.std(input, axis=None, ddof=0, keepdims=False)
2073  </pre>
2074  </td>
2075  </tr>
2076  </table>
2077
2078- 接口名称:mindspore.load_param_into_net
2079
2080  变更内容:新增ckpt中未加载的参数作为返回值。
2081
2082  <table>
2083  <tr>
2084  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2085  </tr>
2086  <tr>
2087  <td><pre>
2088  net_param = load_param_into_net()
2089  </pre>
2090  </td>
2091  <td><pre>
2092  net_param, ckpt_param = load_param_into_net()
2093  </pre>
2094  </td>
2095  </tr>
2096  </table>
2097
2098- 接口名称:mindspore.nn.BCELoss
2099
2100  变更内容:`reduction` 默认值由'none'变为'mean'。
2101
2102  <table>
2103  <tr>
2104  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2105  </tr>
2106  <tr>
2107  <td><pre>
2108  BCELoss(weight=None, reduction='none')
2109  >>> # 举例:
2110  >>> weight = Tensor(np.array([[1.0, 2.0, 3.0],
2111  ...                           [4.0, 3.3, 2.2]]),
2112  ...                 mindspore.float32)
2113  >>> loss = nn.BCELoss(weight=weight, reduction='mean')
2114  >>> logits = Tensor(np.array([[0.1, 0.2, 0.3],
2115  ...                           [0.5, 0.7, 0.9]]),
2116  ...                 mindspore.float32)
2117  >>> labels = Tensor(np.array([[0, 1, 0], [0, 0, 1]]),
2118  ...                 mindspore.float32)
2119  >>> output = loss(logits, labels)
2120  >>> print(output)
2121  >>> 1.8952923
2122  </pre>
2123  </td>
2124  <td><pre>
2125  BCELoss(weight=None, reduction='mean')
2126  >>> # 举例:
2127  >>> weight = Tensor(np.array([[1.0, 2.0, 3.0],
2128  ...                           [4.0, 3.3, 2.2]]),
2129  ...                 mindspore.float32)
2130  >>> loss = nn.BCELoss(weight=weight)
2131  >>> logits = Tensor(np.array([[0.1, 0.2, 0.3],
2132  ...                           [0.5, 0.7, 0.9]]),
2133  ...                 mindspore.float32)
2134  >>> labels = Tensor(np.array([[0, 1, 0], [0, 0, 1]]),
2135  ...                 mindspore.float32)
2136  >>> output = loss(logits, labels)
2137  >>> print(output)
2138  >>> 1.8952923
2139  </pre>
2140  </td>
2141  </tr>
2142  </table>
2143
2144- 接口名称:mindspore.ops.split
2145
2146  变更内容:接口重构,接口使用方式更符合用户使用习惯,调整第2个和第3个参数的顺序,修改并扩展split_size_or_sections功能。
2147
2148  <table>
2149  <tr>
2150  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2151  </tr>
2152  <tr>
2153  <td><pre>
2154  ops.split(input_x, axis=0, output_num=1)
2155  >>> # 举例:
2156  >>> input = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]),
2157  ...                mindspore.int32)
2158  >>> output = ops.split(input, axis=1, output_num=4)
2159  </pre>
2160  </td>
2161  <td><pre>
2162  ops.split(tensor, split_size_or_sections, axis=0)
2163  >>> # 举例:
2164  >>> input = Tensor(np.array([[1, 1, 1, 1], [2, 2, 2, 2]]),
2165  ...                mindspore.int32)
2166  >>> output = ops.split(input, split_size_or_sections=1, axis=1)
2167  </pre>
2168  </td>
2169  </tr>
2170  </table>
2171
2172- 接口名称:mindspore.Tensor.split
2173
2174  变更内容:接口重构,接口使用方式更符合用户使用习惯,调整两个参数的位置,修改并扩展split_size_or_sections功能。
2175
2176  说明:参考ops.split例子。
2177
2178  <table>
2179  <tr>
2180  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2181  </tr>
2182  <tr>
2183  <td><pre>
2184  Tensor.split(axis=0, output_num=1)
2185  </pre>
2186  </td>
2187  <td><pre>
2188  Tensor.split(split_size_or_sections, axis=0)
2189  </pre>
2190  </td>
2191  </tr>
2192  </table>
2193
2194- 接口名称:mindspore.ops.pad
2195
2196  变更内容:修改参数名paddings为padding,添加mode和value功能。
2197
2198  <table>
2199  <tr>
2200  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2201  </tr>
2202  <tr>
2203  <td><pre>
2204  ops.pad(input_x, paddings)
2205  >>> # 举例:
2206  >>> input_x = Tensor(np.array([[-0.1, 0.3, 3.6],
2207  ...                            [0.4, 0.5, -3.2]]),
2208  ...                  mindspore.float32)
2209  >>> paddings = ((1, 2), (2, 1))
2210  >>> output = ops.pad(input_x, paddings)
2211  </pre>
2212  </td>
2213  <td><pre>
2214  ops.pad(input_x, padding, mode='constant', value=None)
2215  >>> # 举例:
2216  >>> input_x = Tensor(np.array([[-0.1, 0.3, 3.6],
2217  ...                            [0.4, 0.5, -3.2]]),
2218  ...                  mindspore.float32)
2219  >>> paddings = (2, 1, 1, 2)
2220  >>> output = ops.pad(input_x, paddings)
2221  </pre>
2222  </td>
2223  </tr>
2224  </table>
2225
2226- 接口名称:mindspore.ops.meshgrid
2227
2228  变更内容:入参由inputs改为*input。
2229
2230  <table>
2231  <tr>
2232  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2233  </tr>
2234  <tr>
2235  <td><pre>
2236  ops.meshgrid(inputs, indexing='xy')
2237  >>> # 举例:
2238  >>> x = Tensor(np.array([1, 2, 3, 4]).astype(np.int32))
2239  >>> y = Tensor(np.array([5, 6, 7]).astype(np.int32))
2240  >>> z = Tensor(np.array([8, 9, 0, 1, 2]).astype(np.int32))
2241  >>> output = ops.meshgrid((x, y, z), indexing='xy')
2242  </pre>
2243  </td>
2244  <td><pre>
2245  ops.meshgrid(*inputs, indexing='xy')
2246  >>> # 举例:
2247  >>> x = Tensor(np.array([1, 2, 3, 4]).astype(np.int32))
2248  >>> y = Tensor(np.array([5, 6, 7]).astype(np.int32))
2249  >>> z = Tensor(np.array([8, 9, 0, 1, 2]).astype(np.int32))
2250  >>> output = ops.meshgrid(x, y, z, indexing='xy')
2251  </pre>
2252  </td>
2253  </tr>
2254  </table>
2255
2256- 接口名称:mindspore.ops.max
2257
2258  变更内容:返回值调换顺序,由:“下标,最大值”改为“最大值,下标”。
2259
2260  <table>
2261  <tr>
2262  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2263  </tr>
2264  <tr>
2265  <td><pre>
2266  ops.max(x, axis=0, keep_dims=False)
2267  >>> # 举例:
2268  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
2269  ...                mindspore.float32)
2270  >>> index, output = ops.max(input)
2271  >>> print(index, output)
2272  >>> 3 0.7
2273  </pre>
2274  </td>
2275  <td><pre>
2276  ops.max(input, axis=None, keepdims=False, *, initial=None, where=True, return_indices=False)
2277  >>> # 举例:
2278  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
2279  ...                mindspore.float32)
2280  >>> output, index = ops.max(input, axis=0)
2281  >>> print(output, index)
2282  </pre>
2283  </td>
2284  </tr>
2285  </table>
2286
2287- 接口名称:mindspore.ops.min
2288
2289  变更内容:返回值调换顺序,由:“下标,最小值”改为“最小值,下标”。
2290
2291  <table>
2292  <tr>
2293  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2294  </tr>
2295  <tr>
2296  <td><pre>
2297  ops.min(x, axis=0, keep_dims=False)
2298  >>> # 举例:
2299  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
2300  ...                mindspore.float32)
2301  >>> index, output = ops.min(input)
2302  >>> 0 0.0
2303  </pre>
2304  </td>
2305  <td><pre>
2306  ops.min(input, axis=None, keepdims=False, *, initial=None, where=True, return_indices=False)
2307  >>> # 举例:
2308  >>> input = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]),
2309  ...                mindspore.float32)
2310  >>> output, index = ops.min(input, keepdims=True)
2311  >>> 0.0 0
2312  </pre>
2313  </td>
2314  </tr>
2315  </table>
2316
2317- 接口名称:mindspore.ops.random_gamma
2318
2319  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
2320
2321  <table>
2322  <tr>
2323  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2324  </tr>
2325  <tr>
2326  <td><pre>
2327  ops.random_gamma(shape, alpha, seed=0, seed2=0)
2328  </pre>
2329  </td>
2330  <td><pre>
2331  ops.random_gamma(shape, alpha, seed=None)
2332  </pre>
2333  </td>
2334  </tr>
2335  </table>
2336
2337- 接口名称:mindspore.ops.standard_laplace
2338
2339  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
2340
2341  <table>
2342  <tr>
2343  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2344  </tr>
2345  <tr>
2346  <td><pre>
2347  ops.standard_laplace(shape, seed=0, seed2=0)
2348  </pre>
2349  </td>
2350  <td><pre>
2351  ops.standard_laplace(shape, seed=None)
2352  </pre>
2353  </td>
2354  </tr>
2355  </table>
2356
2357- 接口名称:mindspore.ops.standard_normal
2358
2359  变更内容:删除seed2参数,seed=0改为None。框架行为统一且符合用户实际使用场景及习惯。
2360
2361  <table>
2362  <tr>
2363  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2364  </tr>
2365  <tr>
2366  <td><pre>
2367  ops.standard_normal(shape, seed=0, seed2=0)
2368  </pre>
2369  </td>
2370  <td><pre>
2371  ops.standard_normal(shape, seed=None)
2372  </pre>
2373  </td>
2374  </tr>
2375  </table>
2376
2377- 接口名称:mindspore.ops.bernoulli
2378
2379  变更内容:seed的默认值由-1改为None。符合用户实际使用场景。
2380
2381  <table>
2382  <tr>
2383  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2384  </tr>
2385  <tr>
2386  <td><pre>
2387  ops.bernoulli(x, p=0.5, seed=-1)
2388  </pre>
2389  </td>
2390  <td><pre>
2391  ops.bernoulli(input, p=0.5, seed=None)
2392  </pre>
2393  </td>
2394  </tr>
2395  </table>
2396
2397- 接口名称:mindspore.data_sink
2398
2399  变更内容:删除steps参数,jit参数名称修改为jit_config,新增input_signature参数。增加易用性,符合用户实际使用场景。
2400
2401  <table>
2402  <tr>
2403  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2404  </tr>
2405  <tr>
2406  <td><pre>
2407  mindspore.data_sink(fn, dataset, steps,
2408                      sink_size=1, jit=False)
2409  </pre>
2410  </td>
2411  <td><pre>
2412  mindspore.data_sink(fn, dataset, sink_size=1,
2413                      jit_config=None, input_signature=None)
2414  </pre>
2415  </td>
2416  </tr>
2417  </table>
2418
2419- 接口名称:mindspore.ops.conv2d
2420
2421  变更内容:扩展接口功能,添加bias参数,修改参数名及参数顺序。
2422
2423  <table>
2424  <tr>
2425  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2426  </tr>
2427  <tr>
2428  <td><pre>
2429  conv2d(inputs, weight, pad_mode="valid",
2430         padding=0, stride=1, dilation=1, group=1)
2431  </pre>
2432  </td>
2433  <td><pre>
2434  conv2d(input, weight, bias=None, stride=1,
2435         pad_mode="valid", padding=0, dilation=1, groups=1)
2436  </pre>
2437  </td>
2438  </tr>
2439  </table>
2440
2441- 接口名称:mindspore.dataset.vision.Pad
2442
2443  变更内容:调整Pad、RandomCrop、RandomCropWithBbox入参padding,当Padding输入长度为2的序列时,行为将从使用第一个值填充左/上边界,使用第二个值填充右/下边界,变为使用第一个值填充左/右边界,使用第二个值填充上/下边界。
2444
2445  说明:仅使用size为2的padding参数无法兼容旧版本的效果,需显式表示(左、右、上、下)。
2446
2447  <table>
2448  <tr>
2449  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2450  </tr>
2451  <tr>
2452  <td><pre>
2453  mindspore.dataset.vision.Pad(padding=(1,2))
2454  代表图片的左/上填充 1像素,右/下填充 2像素
2455  </pre>
2456  </td>
2457  <td><pre>
2458  mindspore.dataset.vision.Pad(padding=(1,2,1,2))
2459  代表图片的左/上填充 1像素,右/下填充 2像素
2460  </pre>
2461  </td>
2462  </tr>
2463  </table>
2464
2465- 接口名称:mindspore.dataset.Dataset.map
2466
2467  变更内容:删除column_order参数。因为在绝大部分的情况下,output_columns参数与column_order参数都是同一个值,不需要再传入column_order。若需要调整数据列顺序,使用mindspore.dataset.Dataset.project实现。
2468
2469  说明:
2470
2471  1) 在不需要改变列顺序时,直接去掉column_order参数即可。
2472  2) 需要指定数据列顺序时,删除column_order参数,并在后面加上一个project方法进行列变换(如下面的例子)。
2473
2474  <table>
2475  <tr>
2476  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2477  </tr>
2478  <tr>
2479  <td><pre>
2480  >>> dataset = dataset.map(operations=[transforms],
2481  ...                       input_columns=["column_a"],
2482  ...                       output_columns=["column_b", "column_c"],
2483  ...                       column_order=["column_c", "column_b"])
2484  </pre>
2485  </td>
2486  <td><pre>
2487  >>> dataset = dataset.map(operations=[transforms],
2488  ...                       input_columns=["column_a"],
2489  ...                       output_columns=["column_b", "column_c"])
2490  >>> dataset = dataset.project(["column_c", column_b"])")
2491  </pre>
2492  </td>
2493  </tr>
2494  </table>
2495
2496- 接口名称:mindspore.dataset.Dataset.batch
2497
2498  变更内容:删除column_order参数。因为在绝大部分的情况下,output_columns参数与column_order参数都是同一个值,不需要再传入column_order。若需要调整数据列顺序,使用mindspore.dataset.Dataset.project实现。
2499
2500  说明:
2501
2502  1) 在不需要改变列顺序时,直接去掉column_order参数即可。
2503  2) 需要指定数据列顺序时,删除column_order参数,并在后面加上一个project方法进行列变换(如下面的例子)。
2504
2505  <table>
2506  <tr>
2507  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2508  </tr>
2509  <tr>
2510  <td><pre>
2511  >>> dataset = dataset.batch(batch_size=4,
2512  ...                         input_columns=["column_a"],
2513  ...                         output_columns=["column_b", "column_c"],
2514  ...                         column_order=["column_c", "column_b"])
2515  </pre>
2516  </td>
2517  <td><pre>
2518  >>> dataset = dataset.batch(batch_size=4, input_columns=["column_a"]
2519  ...                         output_columns=["column_b", "column_c"])
2520  >>> dataset = dataset.project(["column_c", column_b"])")
2521  </pre>
2522  </td>
2523  </tr>
2524  </table>
2525
2526- 接口名称:mindspore.dataset.Dataset.batch
2527
2528  变更内容:将batch方法拆分为:batch和padded_batch两个方法。pad_info参数从batch方法移动到padded_batch方法。
2529
2530  说明:如需使用pad_info参数,改用padded_batch方法。
2531
2532  <table>
2533  <tr>
2534  <td style="text-align:center"> 原接口 </td> <td style="text-align:center"> v2.0.0-rc1接口 </td>
2535  </tr>
2536  <tr>
2537  <td><pre>
2538  >>> dataset = dataset.batch(batch_size=4,
2539  ...                         drop_remainder=True, pad_info=...)
2540  </pre>
2541  </td>
2542  <td><pre>
2543  >>> dataset = dataset.padded_batch(batch_size=4,
2544  ...                                drop_remainder=True, pad_info=...)
2545  </pre>
2546  </td>
2547  </tr>
2548  </table>
2549
2550### Bug fixes
2551
2552- [I66PE6] 修复 AssignSub算子异常入参导致core dump的问题。
2553
2554- [I6F5E6] 修复 data_sink 方法在Ascend上执行超时的问题。
2555
2556### 其它
2557
2558- Windows系统支持由于还在优化中,rc版本暂不支持,将在2.0正式版本提供下载。
2559
2560### 贡献者
2561
2562感谢以下人员做出的贡献:
2563
2564alashkari,anzhengqi,archer2049,B.L.LAN,baihuawei,bichaoyang,BJ-WANG,Bokai Li,Brian-K,caifubi,caiyimeng,cathwong,changzherui,ChenDonYY,chenfei_mindspore,chengang,chengbin,chenhaozhe,chenjianping,chenkang,chenweifeng,chuht,chujinjin,davidanugraha,DavidFFFan,DeshiChen,douzhixing,emmmmtang,Erpim,Ethan,fangwenyi,fangzehua,fangzhou0329,fary86,fengyixing,gaoshuanglong,Gaoxiong,gaoyong10,gengdongjie,gongdaguo1,Greatpan,GuoZhibin,guozhijian,hangq,hanhuifeng,haozhang,hedongdong,Henry Shi,heterogeneous_to_backoff_2_0,huangbingjian,huanghui,huangxinjing,hujiahui8,hujingsong,huoxinyou,jachua,jiahongQian,jianghui58,jiangzhenguang,jiaorui,jiaoy1224,jijiarong,jjfeing,JoeyLin,json,JuiceZ,jxl,kairui_kou,KevinYi,kisnwang,KXiong,laiyongqiang,lanzhineng,liangchenghui,liangzelang,LiangZhibo,lianliguang,lichen,ligan,lijunbin,limingqi107,ling,linqingke,liubuyu,liuchao,liuchuting,liujunzhu,liuluobin,liutongtong9,liuyang811,lixiao,liyan2022,liyejun,liyuxia,looop5,luochao60,luojianing,luoyang,luoyuan,lyqlola,maning202007,maoyaomin,Margaret_wangrui,mayadong,MaZhiming,melody,mengyuanli,michaelzhu_70ab,Mohammad Motallebi,moran,NaCN,nomindcarry,OwenSec,panfengfeng,panshaowu,panzhihui,pkuliuliu,qinzheng,qiuzhongya,qujianwei,r1chardf1d0,Renyuan Zhang,RobinGrosman,shaojunsong,shenwei41,Soaringfish,tangdezhi_123,tanghuikang,tan-wei-cheng,TinaMengtingZhang,TronZhang,TuDouNi,VectorSL,wang_ziqi,wanghenchang,wangnan39,wangpingan,wangshaocong,wangshengnan123,wangtongyu6,weichaoran,wind-zyx,wqx,wtcheng,wujueying,wYann,XianglongZeng,xiaohanzhang,xiaotianci,xiaoyao,XinDu,xulei,xumengjuan1,xupan,xwkgch,yanghaoran,yangluhang,yangruoqi713,yangshuo,yangsijia,yangzhenzhang,yanzhenxiang2020,Yanzhi_YI,yao_yf,yefeng,yeyunpeng2020,Yi_zhang95,yide12,YijieChen,YingLai Lin,YingtongHu,youshu,yuchaojie,yuedongli,YuJianfeng,zangqx,ZengZitao,zhangbuxue,zhangdanyang,zhangdong,zhangfanghe,zhangqi,zhangqinghua,zhangyanhui,zhangyinxia,zhangyongxian,zhangzhaoju,zhanzhan,zhengzuohe,ZhidanLiu,zhixinaa,zhoufeng,zhouyaqiang0,zhuguodong,zhupuxu,zhuyuxiao,zichun_ye,zjun,zlq2020,zong_shuai,ZPaC,zuochuanyong,zyli2020,陈宇,范吉斌,冯一航,胡彬,宦晓玲,黄勇,雷元哲,李良灿,李林杰,刘崇鸣,刘力力,刘勇琪,吕浩宇,吕昱峰(Nate.River),没有窗户的小巷,沈竞兴,十六夜,王程浩,王禹程,王振邦,徐安越,徐永飞,杨旭华,于振华,俞涵,张清华,张澍坤,张栩浩,张学同,赵英灼,周超,周洪叶,朱家兴
2565
2566欢迎以任何形式对项目提供贡献!
2567
2568## MindSpore Lite 2.0.0-rc1 Release Notes
2569
2570### 主要特性和增强
2571
2572#### MindSpore Lite云侧推理
2573
2574原MindSpore Lite版本主要面向手机、车机等边缘设备,新增云侧推理版本支持云侧多后端硬件资源的场景,支持Ascend及Nvidia GPU推理专用卡,高效利用云侧多核资源。
2575
2576原通过MindSpore训练版本集成的推理方式可以变更为基于MindSpore Lite进行适配集成,具体可参考[云侧推理快速入门](https://mindspore.cn/lite/docs/zh-CN/r2.0/quick_start/one_hour_introduction_cloud.html),如果想要保持原始集成方式可以参考[MindSpore推理FAQ](https://mindspore.cn/docs/zh-CN/r2.0/faq/inference.html)2577
2578- [STABLE] 支持MindIR模型文件。
2579- [STABLE] 支持将第三方Onnx、Tensorflow、Caffe模型通过MindSpore Lite转换工具转换为MindIR模型文件。
2580- [STABLE] 一个发布包支持多种硬件后端:Ascend 310/310P/910、Nvidia GPU、CPU。
2581- [STABLE] 支持`Model`接口和`ModelParallelRunner`并行推理接口。
2582- [STABLE] 支持C++、Python和Java推理接口。
2583
2584#### API
2585
2586- 因原Python API配置参数较多、使用较复杂,因此在2.0版本针对Python API易用性进行优化,包括类构造方法、类属性的调整等,此外2.0及之后的Python API将整合到云侧推理场景,与旧版本不兼容。详细参见[Python API说明文档](https://www.mindspore.cn/lite/api/zh-CN/r2.0/mindspore_lite.html)2587
2588## MindSpore 2.0.0-alpha Release Notes
2589
2590### 主要特性和增强
2591
2592#### PyNative
2593
2594- MindSpore默认模式切换成PyNative模式。需要手动设置模式可以参考文档[计算图](https://www.mindspore.cn/tutorials/zh-CN/r2.0.0-alpha/advanced/compute_graph.html)2595- 完成动态shape执行方案重构,提升反向构图性能,支持非padding方案的动态shape网络编程,当前主要验证网络Transformer-GPU、YOLOV5-GPU、ASR-Ascend。从[models仓](https://gitee.com/mindspore/models/tree/dynamic_shape)获取Transformer-GPU和YOLOV5-GPU。Ascend后端受算子适配度限制,只支持下列算子:Add、Assign、BatchMatMul、BiasAdd、BiasAddGrad、Cast、Conv2D、Conv2DBackpropFilter、Conv2DBackpropInput、CTCLoss、Div、Dropout、DropoutDoMask、Equal、ExpandDims、Gather、GetNext、LayerNorm、LayerNormGrad、LessEqual、Load、Log、LogicalAnd、LogicalNot、LogicalOr、LogSoftmax、LogSoftmaxGrad、MatMul、Maximum、Mul、Neg、NotEqual、NPUAllocFloatStatus、NPUClearFloatStatus、OneHot、RealDiv、Reciprocal、ReduceMean、ReduceSum、ReLU、ReluGrad、Reshape、Select、Softmax、StridedSlice、Sub、Tile、Transpose、UnsortedSegmentSum、ZerosLike。其余算子未经过完整验证,请酌情使用。
2596
2597#### DataSet
2598
2599- TFRecordDataset API支持直接读取通过GZIP或ZLIB压缩后的TFRecord文件。
2600- NumpySlicesDataset API支持同时处理不同维度的数据。
2601- 优化错误日志信息的结构,展示更清晰的调用栈信息便于调试、定位问题。
2602- 修复分布式训练场景下 `mindspore.dataset.config.set_seed` 对随机种子设置不生效的问题。
2603
2604#### AutoParallel
2605
2606- 支持更多算子分布式能力。
2607
2608  Element Wise类算子:AddN、 BitwiseAnd、 BitwiseOr、 BitwiseXor、 CumProd、 HShrink、 HSigmoid、 IsFinite、 Mish、 MulNoNan、 Rint、 SeLU、 SoftShrink、 TruncateDiv、 TruncateMod、 Xdivy Xlogy、 InplaceAdd、 InplacSub、 InplaceUpdate、 Cdist、 L2Loss、 Lerp。
2609
2610  Math类算子:SquaredDifference、 Erfinv、 MaskedFill、 SplitV、 Gamma、 KLDivLoss、 LinSpace。Scatter类算子:ScatterAdd、ScatterDiv、ScatterMax、ScatterMul、ScatterNdAdd、ScatterNdSub、ScatterNdUpdate、ScatterSub、TensorScatterAdd、TensorScatterDiv、TensorScatterMax、TensorScatterMax、TensorScatterMul、TensorScatterAdd、TensorScatterUpdate。
2611
2612- 增加`transform_checkpoints`和`transform_checkpoint_by_rank`接口。给定转换前后的策略文件,即可实现对分布式权重转换。详情请参考[分布式弹性训练与推理](https://www.mindspore.cn/tutorials/experts/zh-CN/r2.0.0-alpha/parallel/resilience_train_and_predict.html)2613
2614### API变更
2615
2616#### 算子
2617
2618- [STABLE] `mindspore.ops.AdaptiveMaxPool3D` 新增算子原语。
2619- [STABLE] `mindspore.ops.AdjustHue` 新增算子原语。
2620- [STABLE] `mindspore.ops.BartlettWindow` 新增算子原语。
2621- [STABLE] `mindspore.ops.BesselJ0` 新增算子原语。
2622- [STABLE] `mindspore.ops.BesselJ1` 新增算子原语。
2623- [STABLE] `mindspore.ops.BesselK0` 新增算子原语。
2624- [STABLE] `mindspore.ops.BesselK0e` 新增算子原语。
2625- [STABLE] `mindspore.ops.BesselK1` 新增算子原语。
2626- [STABLE] `mindspore.ops.BesselK1e` 新增算子原语。
2627- [STABLE] `mindspore.ops.BesselY0` 新增算子原语。
2628- [STABLE] `mindspore.ops.BesselY1` 新增算子原语。
2629- [STABLE] `mindspore.ops.Betainc` 新增算子原语。
2630- [STABLE] `mindspore.ops.Bincount` 新增算子原语。
2631- [STABLE] `mindspore.ops.BlackmanWindow` 新增算子原语。
2632- [STABLE] `mindspore.ops.Bucketize` 新增算子原语。
2633- [STABLE] `mindspore.ops.CombinedNonMaxSuppression` 新增算子原语。
2634- [STABLE] `mindspore.ops.CompareAndBitpack` 新增算子原语。
2635- [STABLE] `mindspore.ops.Complex` 新增算子原语。
2636- [STABLE] `mindspore.ops.DataFormatVecPermute` 新增算子原语。
2637- [STABLE] `mindspore.ops.EuclideanNorm` 新增算子原语。
2638- [STABLE] `mindspore.ops.Expand` 新增算子原语。
2639- [STABLE] `mindspore.ops.ExtractGlimpse` 新增算子原语。
2640- [STABLE] `mindspore.ops.FillDiagonal` 新增算子原语。
2641- [STABLE] `mindspore.ops.FractionalAvgPool` 新增算子原语。
2642- [STABLE] `mindspore.ops.FractionalMaxPool` 新增算子原语。
2643- [STABLE] `mindspore.ops.Gcd` 新增算子原语。
2644- [STABLE] `mindspore.ops.HammingWindow` 新增算子原语。
2645- [STABLE] `mindspore.ops.Histogram` 新增算子原语。
2646- [STABLE] `mindspore.ops.HSVToRGB` 新增算子原语。
2647- [STABLE] `mindspore.ops.Lcm` 新增算子原语。
2648- [STABLE] `mindspore.ops.LeftShift` 新增算子原语。
2649- [STABLE] `mindspore.ops.ListDiff` 新增算子原语。
2650- [STABLE] `mindspore.ops.LogSpace` 新增算子原语。
2651- [STABLE] `mindspore.ops.Lstsq` 新增算子原语。
2652- [STABLE] `mindspore.ops.MatrixDiagPartV3` 新增算子原语。
2653- [STABLE] `mindspore.ops.MatrixDiagV3` 新增算子原语。
2654- [STABLE] `mindspore.ops.MatrixExp` 新增算子原语。
2655- [STABLE] `mindspore.ops.MatrixPower` 新增算子原语。
2656- [STABLE] `mindspore.ops.MaxPool3DWithArgmax` 新增算子原语。
2657- [STABLE] `mindspore.ops.MaxUnpool2D` 新增算子原语。
2658- [STABLE] `mindspore.ops.MultilabelMarginLoss` 新增算子原语。
2659- [STABLE] `mindspore.ops.NextAfter` 新增算子原语。
2660- [STABLE] `mindspore.ops.Orgqr` 新增算子原语。
2661- [STABLE] `mindspore.ops.ReduceStd` 新增算子原语。
2662- [STABLE] `mindspore.ops.RGBToHSV` 新增算子原语。
2663- [STABLE] `mindspore.ops.RightShift` 新增算子原语。
2664- [STABLE] `mindspore.ops.SampleDistortedBoundingBoxV2` 新增算子原语。
2665- [STABLE] `mindspore.ops.ScaleAndTranslate` 新增算子原语。
2666- [STABLE] `mindspore.ops.ScatterAddWithAxis` 新增算子原语。
2667- [STABLE] `mindspore.ops.ScatterNdDiv` 新增算子原语。
2668- [STABLE] `mindspore.ops.ScatterNdMax` 新增算子原语。
2669- [STABLE] `mindspore.ops.ScatterNdMul` 新增算子原语。
2670- [STABLE] `mindspore.ops.STFT` 新增算子原语。
2671- [STABLE] `mindspore.ops.Trace` 新增算子原语。
2672- [STABLE] `mindspore.ops.UpsampleNearest3D` 新增算子原语。
2673- [STABLE] `mindspore.ops.UpsampleTrilinear3D` 新增算子原语。
2674- [STABLE] `mindspore.parallel.transform_checkpoints` 新增分布式权重转换接口。
2675- [STABLE] `mindspore.parallel.transform_checkpoint_by_rank` 新增分布式权重转换接口。
2676
2677#### 非兼容性变更
2678
2679##### Python API
2680
2681- `mindspore.ms_function`接口名替换为`mindspore.jit`,`mindspore.ms_function` 将在未来版本中弃用并删除。
2682- `mindspore.ms_class`接口名替换为`mindspore.jit_class`,`mindspore.ms_class` 将在未来版本中弃用并删除。
2683- `mindspore.ops.ms_kernel`接口名替换为`mindspore.ops.kernel`,`mindspore.ops.ms_kernel` 将在未来版本中弃用并删除。
2684- `mindspore.dataset.map`接口参数 `column_order` 不再生效,使用`mindspore.dataset.project`替换。
2685- `mindspore.dataset.close_pool`、`mindspore.dataset.to_device`、`mindspore.dataset.set_dynamic_columns` 接口在之前版本已废弃,当前版本正式删除。
2686
2687### Bug fixes
2688
2689- 修复混合精度函数式接口在图模式下不能修改后端驱动的问题。
2690- 修复以下网络在单P场景下用户可自动传入device_id(mobilenetv1/fasterrcnn/yolov3/yolov4/yolov5/unet/openpose/simplepose/crnn/gnmtv2/faceattribute/facequality/facedetection) 。
2691
2692### 贡献者
2693
2694感谢以下人员做出的贡献:
2695
2696AGroupofProbiotocs, anzhengqi, askmiao, baihuawei, baiyangfan, bai-yangfan, bingyaweng, BowenK, buxue, caifubi, CaoJian, caojian05, caozhou, Cathy, changzherui, chenbo116, chenfei, chengxianbin, chenhaozhe, chenjianping, chenzomi, chenzupeng, chujinjin, cj, cjh9368, Corleone, damon0626, danish, Danish, davidmc, dayschan, doitH, dong-li001, fary86, fuzhiye, Gaoxiong, GAO_HYP_XYJ, gengdongjie, Gogery, gongdaguo, gray0v0, gukecai, guoqi, gzhcv, hangq, hanhuifeng2020, Harshvardhan, He, heleiwang, hesham, hexia, Hoai, HuangBingjian, huangdongrun, huanghui, huangxinjing, huqi, huzhifeng, hwjiaorui, Jiabin Liu, jianghui58, Jiaqi, jin-xiulang, jinyaohui, jjfeing, John, jonyguo, JulyAi, jzg, kai00, kingfo, kingxian, kpy, kswang, liuyongqi, laiyongqiang, leonwanghui, liangchenghui, liangzelang, lichen_101010, lichenever, lihongkang, lilei, limingqi107, ling, linqingke, Lin Xh, liubuyu, liuwenhao4, liuxiao78, liuxiao93, liuyang_655, liuzhongkai, Lixia, lixian, liyanliu, liyong, lizhenyu, luopengting, lvchangquan, lvliang, lz, maning202007, Margaret_wangrui, mengyuanli, Ming_blue, ms_yan, ougongchang, panfengfeng, panyifeng, Payne, Peilin, peixu_ren, Pengyongrong, qianlong, qianjiahong, r1chardf1d0, riemann_penn, rmdyh, Sheng, shenwei41, simson, Simson, Su, sunsuodong, tao_yunhao, tinazhang, VectorSL, , Wan, wandongdong, wangdongxu, wangmin,  wangyue01, wangzhe, wanyiming, Wei, wenchunjiang, wilfChen, WilliamLian, wsc, wudenggang, wukesong, wuweikang, wuxuejian, Xiao Tianci, Xiaoda, xiefangqi, xinyunfan, xuanyue, xuyongfei, yanghaitao, yanghaitao1, yanghaoran, YangLuo, yangruoqi713, yankai, yanzhenxiang2020, yao_yf, yepei6, yeyunpeng, Yi, yoni, yoonlee666, yuchaojie, yujianfeng, yuximiao, zengzitao, Zhang,  zhanghuiyao, zhanghui_china, zhangxinfeng3, zhangyihui, zhangz0911gm, zhanke, zhanyuan, zhaodezan, zhaojichen, zhaoting, zhaozhenlong, zhengjun10, zhiqwang, zhoufeng, zhousiyi, zhouyaqiang, zhouyifengCode, Zichun, Ziyan, zjun, ZPaC, wangfengwfwf, zymaa, gerayking, shu-kun-zhang.
2697
2698欢迎以任何形式对项目提供贡献!
2699
2700## MindSpore 1.10.1 Release Notes
2701
2702### 问题修复
2703
2704- 修复logsumexp防溢出处理中未考虑指定axis的问题
2705- 修复proto文件的编译依赖问题
2706- 修复print算子打印结果不正常的问题
2707- 修复equal算子越界问题
2708- 修复函数被@jit修饰后,导致的cell_id解析不正确的问题
2709- 修复GNN场景数据类型校验错误
2710- 修复Dataset map多进程退化成线程的问题
2711
2712### 贡献者
2713
2714感谢以下人员做出的贡献:
2715
2716archer2049, caifubi, chenfei_mindspore, gaoshuanglong, Greatpan, guozhijian, huoxinyou, Kxiong, lanzhineng, lijunbin, liubuyu, liuchuting, luochao60, lyqlola, nomindcarry, TuDouNi, xiaotianci, xupan, yangshuo, yefeng, YingtongHu, yuchaojie, zhoufeng, ZPaC, 刘勇琪, 吕昱峰, 王禹程, 于振华.
2717
2718欢迎以任何形式对项目提供贡献!
2719
2720## MindSpore 1.10.0 Release Notes
2721
2722### 主要特性和增强
2723
2724#### DataSet
2725
2726- [STABLE]下沉模式超时等待时间调整,默认调整到600s,以解决数据下沉模式时因环境资源竞争、计算量大等因素容易导致GetNext算子等待超时的问题。
2727
2728### Bug fixes
2729
2730- 修复AMP中部分Primitive算子无法在图模式下实例化导致接口不可用的问题。
2731- 修复昇腾平台算力切分场景下LSTM网络中DynamicRNN算子执行失败的问题。
2732- 修复mobilenet, fasterrcnn, yolo等网络单卡训练脚本DEVICE_ID在启动脚本中写死的问题。
2733
2734### 贡献者
2735
2736感谢以下人员做出的贡献:
2737
2738AGroupofProbiotocs, anzhengqi, askmiao, baihuawei, baiyangfan, bai-yangfan, bingyaweng, BowenK, buxue, caifubi, CaoJian, caojian05, caozhou, Cathy, changzherui, chenbo116, chenfei, chengxianbin, chenhaozhe, chenjianping, chenzomi, chenzupeng, chujinjin, cj, cjh9368, Corleone, damon0626, danish, Danish, davidmc, dayschan, doitH, dong-li001, fary86, fuzhiye, Gaoxiong, GAO_HYP_XYJ, gengdongjie, Gogery, gongdaguo, gray0v0, gukecai, guoqi, gzhcv, hangq, hanhuifeng2020, Harshvardhan, He, heleiwang, hesham, hexia, Hoai, HuangBingjian, huangdongrun, huanghui, huangxinjing, huqi, huzhifeng, hwjiaorui, Jiabin Liu, jianghui58, Jiaqi, jin-xiulang, jinyaohui, jjfeing, John, jonyguo, JulyAi, jzg, kai00, kingfo, kingxian, kpy, kswang, liuyongqi, laiyongqiang, leonwanghui, liangchenghui, liangzelang, lichen_101010, lichenever, lihongkang, lilei, limingqi107, ling, linqingke, Lin Xh, liubuyu, liuwenhao4, liuxiao78, liuxiao93, liuyang_655, liuzhongkai, Lixia, lixian, liyanliu, liyong, lizhenyu, luopengting, lvchangquan, lvliang, lz, maning202007, Margaret_wangrui, mengyuanli, Ming_blue, ms_yan, ougongchang, panfengfeng, panyifeng, Payne, Peilin, peixu_ren, Pengyongrong, qianlong, qianjiahong, r1chardf1d0, riemann_penn, rmdyh, Sheng, shenwei41, simson, Simson, Su, sunsuodong, tao_yunhao, tinazhang, VectorSL, , Wan, wandongdong, wangdongxu, wangmin,  wangyue01, wangzhe, wanyiming, Wei, wenchunjiang, wilfChen, WilliamLian, wsc, wudenggang, wukesong, wuweikang, wuxuejian, Xiao Tianci, Xiaoda, xiefangqi, xinyunfan, xuanyue, xuyongfei, yanghaitao, yanghaitao1, yanghaoran, YangLuo, yangruoqi713, yankai, yanzhenxiang2020, yao_yf, yepei6, yeyunpeng, Yi, yoni, yoonlee666, yuchaojie, yujianfeng, yuximiao, zengzitao, Zhang,  zhanghuiyao, zhanghui_china, zhangxinfeng3, zhangyihui, zhangz0911gm, zhanke, zhanyuan, zhaodezan, zhaojichen, zhaoting, zhaozhenlong, zhengjun10, zhiqwang, zhoufeng, zhousiyi, zhouyaqiang, zhouyifengCode, Zichun, Ziyan, zjun, ZPaC, wangfengwfwf, zymaa, gerayking, shu-kun-zhang.
2739
2740欢迎以任何形式对项目提供贡献!
2741
2742## MindSpore Lite 1.10.0 Release Notes
2743
2744### Bug fixes
2745
2746- 修复Arithmetic类CPU算子动态shape场景下可能的计算精度问题。
2747- 修复Deconv int8量化算子重量化写入地址错误问题。
2748
2749## MindSpore 1.9.0 Release Notes
2750
2751### 主要特性和增强
2752
2753#### FrontEnd
2754
2755- [STABLE] 新增面向对象+函数式融合编程范式,提供 `mindspore.amp.LossScaler` 、 `mindspore.amp.DynamicLossScaler` 、 `mindspore.amp.StaticLossScaler` 、 `mindspore.amp.auto_mixed_precision` 、 `mindspore.amp.all_finite` 等融合编程范式下的混合精度接口。
2756
2757### API变更
2758
2759#### 算子
2760
2761- [STABLE] `nn.AdaptiveAvgPool3d` 新增nn接口。
2762- [STABLE] `ops.adaptive_avg_pool3d` 新增functional接口。
2763- [STABLE] `ops.addcdiv` 新增functional接口。
2764- [STABLE] `ops.addcmul` 新增functional接口。
2765- [STABLE] `ops.approximate_equal` 新增GPU、CPU支持。
2766- [STABLE] `ops.atanh` 新增GPU支持。
2767- [STABLE] `ops.bessel_i0` 新增GPU支持。
2768- [STABLE] `ops.bessel_i0e` 新增Ascend支持。
2769- [STABLE] `ops.bessel_i1` 新增GPU支持。
2770- [STABLE] `ops.bessel_i1e` 新增Ascend、GPU支持。
2771- [STABLE] `ops.bessel_j0` 新增GPU支持。
2772- [STABLE] `ops.bessel_j1` 新增GPU支持。
2773- [STABLE] `ops.bessel_k0` 新增GPU支持。
2774- [STABLE] `ops.bessel_k0e` 新增GPU支持。
2775- [STABLE] `ops.bessel_k1` 新增GPU支持。
2776- [STABLE] `ops.bessel_k1e` 新增GPU支持。
2777- [STABLE] `ops.bessel_y0` 新增GPU支持。
2778- [STABLE] `ops.bessel_y1` 新增GPU支持。
2779- [STABLE] `ops.bias_add` 新增functional接口。
2780- [STABLE] `ops.bitwise_and` 新增GPU支持。
2781- [STABLE] `ops.bitwise_or` 新增GPU支持。
2782- [STABLE] `ops.bitwise_xor` 新增GPU支持。
2783- [STABLE] `ops.grid_sample` 新增Ascend支持。
2784- [STABLE] `ops.inplace_update` 新增CPU支持。
2785- [STABLE] `ops.isclose` 新增Ascend、GPU支持。
2786- [STABLE] `ops.isnan` 新增Ascend支持。
2787- [STABLE] `ops.lerp` 新增GPU支持。
2788- [STABLE] `ops.random_poisson` 新增functional接口。
2789- [STABLE] `ops.reverse_sequence` 新增functional接口。
2790- [STABLE] `ops.scatter_mul` 新增GPU支持。
2791- [STABLE] `ops.scatter_nd_max` 新增functional接口。
2792- [STABLE] `ops.scatter_nd_min` 新增functional接口。
2793- [STABLE] `ops.SparseToDense` 新增GPU支持。
2794- [STABLE] `ops.square` 新增functional接口。
2795- [STABLE] `ops.standard_laplace` 新增GPU支持。
2796- [STABLE] `ops.std` 新增functional接口。
2797- [STABLE] `ops.trunc` 新增Ascend、GPU支持。
2798- [STABLE] `ops.unsorted_segment_sum` 新增functional接口。
2799- [STABLE] `ops.xdivy` 新增functional接口。
2800- [STABLE] `ops.xlogy` 新增GPU支持。
2801- `ops.poisson` 接口废弃使用,对应新接口为 `ops.random_poisson` 。
2802- `ops.SparseApplyAdagrad` 接口废弃使用,可使用 `ops.SparseApplyAdagradV2` 接口替代。
2803
2804### Bug fixes
2805
2806- [BUGFIX] 修改混合精度O2 level的判断逻辑,在原来屏蔽 `BatchNorm1d` 、 `BatchNorm2d` 算子的基础上,添加另外两个屏蔽算子`BatchNorm3d`和`LayerNorm`,这4个算子依然用float32数据类型计算。
2807
2808- [BUGFIX] Dataset处理字符串类型数据时,若调用`create_dict_iterator`或`create_tuple_iterator`接口时指定了`output_numpy=True`,获取到的数据会是`numpy.bytes_`类型。修复此问题后接口会直接返回`numpy.str_`类型数据,用户无需再对其进行字符串解码操作。同样,在使用自定义数据处理函数时,接收到的数据也将直接是`numpy.str_`类型,与原始数据类型相匹配。
2809
2810### 贡献者
2811
2812感谢以下人员做出的贡献:
2813
2814AGroupofProbiotocs, anzhengqi, askmiao, baihuawei, baiyangfan, bai-yangfan, bingyaweng, BowenK, buxue, caifubi, CaoJian, caojian05, caozhou, Cathy, changzherui, chenbo116, chenfei, chengxianbin, chenhaozhe, chenjianping, chenzomi, chenzupeng, chujinjin, cj, cjh9368, Corleone, damon0626, danish, Danish, davidmc, dayschan, doitH, dong-li001, fary86, fuzhiye, Gaoxiong, GAO_HYP_XYJ, gengdongjie, Gogery, gongdaguo, gray0v0, gukecai, guoqi, gzhcv, hangq, hanhuifeng2020, Harshvardhan, He, hesham, hexia, Hoai, HuangBingjian, huangdongrun, huanghui, huangxinjing, huqi, huzhifeng, hwjiaorui, Jiabin Liu, jianghui58, Jiaqi, jin-xiulang, jinyaohui, jjfeing, John, jonyguo, JulyAi, jzg, kai00, kingfo, kingxian, kpy, kswang, liuyongqi, laiyongqiang, leonwanghui, liangchenghui, liangzelang, lichen_101010, lichenever, lihongkang, lilei, limingqi107, ling, linqingke, Lin Xh, liubuyu, liuwenhao4, liuxiao78, liuxiao93, liuyang_655, liuzhongkai, liyanliu, lizhenyu, lvchangquan, lvliang, lz, maning202007, Margaret_wangrui, mengyuanli, Ming_blue, ms_yan, panfengfeng, panyifeng, Payne, peixu_ren, Pengyongrong, qianjiahong, r1chardf1d0, riemann_penn, rmdyh, Sheng, shenwei41, simson, Simson, Su, sunsuodong, tao_yunhao, tinazhang, VectorSL, Wan, wandongdong, wangdongxu, wangmin,  wangyue01, wangzhe, wanyiming, Wei, wenchunjiang, wilfChen, WilliamLian, wsc, wudenggang, wukesong, wuweikang, Xiao Tianci, Xiaoda, xiefangqi, xinyunfan, xuanyue, xuyongfei, yanghaitao, yanghaoran, YangLuo, yangruoqi713, yankai, yanzhenxiang2020, yao_yf, yepei6, yeyunpeng, Yi, yoni, yoonlee666, yuchaojie, yujianfeng, yuximiao, zengzitao, Zhang,  zhanghuiyao, zhanghui_china, zhangxinfeng3, zhangyihui, zhangz0911gm, zhanyuan, zhaojichen, zhaoting, zhaozhenlong, zhengjun10, zhiqwang, zhoufeng, zhousiyi, zhouyaqiang, zhouyifengCode, Zichun, Ziyan, zjun, ZPaC, wangfengwfwf, zymaa, gerayking, shu-kun-zhang.
2815
2816欢迎以任何形式对项目提供贡献!
2817
2818## MindSpore 1.8.1 Release Notes
2819
2820### API变更
2821
2822#### 算子
2823
2824- [STABLE] ops.ApplyAdagradDA 新增GPU、CPU支持。
2825- [STABLE] ops.ApplyAdagradV2 新增CPU支持。
2826- [STABLE] ops.ApplyCenteredRmsProp 新增Ascend动态shape支持。
2827- [STABLE] ops.ApplyFtrl 新增CPU支持。
2828- [STABLE] ops.ApplyGradientDescent 新增CPU支持。
2829- [STABLE] ops.ApplyPowerSign 新增CPU支持。
2830- [STABLE] ops.ApplyProximalAdagrad 新增GPU、CPU支持。
2831- [STABLE] ops.ApplyRmsProp 新增Ascend动态shape支持。
2832- [STABLE] ops.max 新增functional接口。
2833- [STABLE] ops.atan2 新增functional接口。
2834- [STABLE] ops.cummax 新增GPU支持。
2835- [STABLE] ops.cummin 新增GPU、CPU支持。
2836- [STABLE] ops.diag 新增GPU支持。
2837- [STABLE] ops.expand_dims 新增functional接口。
2838- [STABLE] ops.gather_elements 新增functional接口。
2839- [STABLE] ops.grid_sample 新增GPU支持。
2840- [STABLE] ops.hardswish 新增Ascend支持。
2841- [BETA] ops.index_fill 新增GPU支持。
2842- [BETA] ops.inplace_update 新增CPU支持。
2843- [BETA] nn.InstanceNorm1d 新增GPU支持。
2844- [BETA] nn.InstanceNorm2d 新增GPU支持。
2845- [BETA] nn.InstanceNorm3d 新增GPU支持。
2846- [STABLE] ops.log1p 新增functional接口。
2847- [STABLE] ops.masked_fill 新增GPU、CPU支持。
2848- [BETA] ops.matrix_diag_part 新增GPU支持。
2849- [BETA] ops.matrix_diag 新增GPU支持。
2850- [BETA] ops.matrix_set_diag 新增GPU支持。
2851- [STABLE] ops.max_pool3d 新增GPU支持。
2852- [STABLE] ops.nll_loss 新增functional接口。
2853- [STABLE] ops.one_hot 新增functional接口。
2854- [STABLE] ops.pad 新增functional接口。
2855- [STABLE] ops.random_gamma 新增CPU支持。
2856- [STABLE] ops.amax 新增functional接口。
2857- [STABLE] ops.mean 新增functional接口。
2858- [STABLE] ops.amin 新增functional接口。
2859- [STABLE] ops.prod 新增functional接口。
2860- [STABLE] ops.renorm 新增Ascend、GPU、CPU支持。
2861- [BETA] ops.tensor_scatter_elements 新增Ascend、GPU、CPU支持。
2862- [STABLE] ops.scatter_max 新增GPU支持。
2863- [STABLE] ops.scatter_min 新增GPU支持。
2864- [STABLE] ops.scatter_nd 新增functional接口。
2865- [STABLE] ops.scatter_nd_max 新增GPU支持。
2866- [STABLE] ops.scatter_update 新增functional接口。
2867- [STABLE] ops.binary_cross_entropy_with_logits 新增CPU支持。
2868- [STABLE] ops.smooth_l1_loss 新增functional接口。
2869- [STABLE] ops.space_to_batch_nd 新增CPU支持。
2870- [STABLE] ops.SparseApplyAdagrad 新增GPU、CPU支持。
2871- [STABLE] ops.sparse_segment_mean 新增GPU、CPU支持。
2872- [STABLE] ops.squeeze 新增functional接口。
2873- [STABLE] ops.standard_laplace 新增CPU支持。
2874- [BETA] nn.ReflectionPad1d 新增Ascend、GPU、CPU支持。
2875- [BETA] nn.ReflectionPad2d 新增Ascend、GPU、CPU支持。
2876- [STABLE] nn.SiLU 新增Ascend、GPU、CPU支持。
2877- [STABLE] ops.transpose 新增functional接口。
2878- [STABLE] ops.uniform_candidate_sampler 新增CPU支持。
2879- [STABLE] ops.uniform 新增functional接口。
2880- [STABLE] ops.unique_with_pad 新增GPU支持。
2881- [STABLE] ops.unstack 新增functional接口。
2882- [BETA] ops.interpolate 新增GPU、CPU支持。
2883- [STABLE] ops.xdivy 新增CPU支持。
2884- [STABLE] ops.xlogy 新增CPU支持。
2885
2886## MindSpore 1.8.0 Release Notes
2887
2888### 主要特性和增强
2889
2890#### FrontEnd
2891
2892- [BETA]  提供`mindspore.train.Model.fit` API,增加两种callback方法 `mindspore.train.callback.EarlyStopping` 和 `mindspore.train.callback.ReduceLROnPlateau`。
2893- [BETA] 自定义算子支持Julia算子。
2894- [BETA] 自定义算子支持Hybrid DSL算子。
2895- [STABLE] export()接口支持自定义加密算法导出模型,load()接口支持自定义解密算法导入模型。
2896- [BETA]   [动静统一] [易用性] 图编译支持常量类型设置可变(1.8版本支持tuple/list/dict)。
2897- [BETA]   [动静统一] 常量场景下控制流内支持JIT Fallback功能。
2898- [STABLE] [动静统一] 支持图模式常量场景下Python raise语句。
2899- [STABLE] [动静统一] 支持图模式常量场景下Python assert语句。
2900- [STABLE] [动静统一] 支持图模式常量场景下Python print语句。
2901- [STABLE] [动静统一] 支持图模式str.format()方法。
2902- [STABLE] [动静统一] 支持图模式用slice方法对list赋值。
2903- [STABLE] [动静统一] 图模式支持创建和调用自定义类的实例。
2904- [STABLE] [动静统一] 支持从Cell数组/自定义类数组中获取类的属性。
2905- [STABLE] [动静统一] 图模式下isinstance支持场景扩展。
2906- [STABLE] 自定义算子修饰符'ms_hybrid'重名为'ms_kernel'。
2907- [BETA] 自定义算子Hybrid DSL支持CPU后端。
2908- [BETA] 自定义算子昇腾后端新增自定义调度原语语法支持。
2909
2910#### PyNative
2911
2912- [STABLE] 实现AdamWeightDecay算子,替代原有小算子组合方式。
2913- [STABLE] 动态图下使用动静结合的方式执行优化器。
2914- [STABLE] 优化PyNative反向图和ms_function的执行性能。
2915
2916#### Auto Parallel
2917
2918- [STABLE] 对接AllToAll单算子模式。在图编译等级为O0下,支持AllToAll算子调用。
2919- [STABLE] 整图下沉支持MPI启动。整图下沉的模式下,支持使用MPI的方式启动。
2920- [STABLE] 模型权重的Seed提供并行接口配置。在用户不通过mindspore.set_seed设置随机数种子时,每个参数初始化的随机数种子为当前分片索引决定。当配置随机数种子之后,相同shape以及相同切分策略的权重,其初始化的结果一致。
2921- [STABLE] HCCL屏蔽内部全连接/非全连接。允许一次训练过程中同时有全连接AllToAllv和分级AllToAllv。
2922- [BETA] CPU优化器融合。通过优化器跨参数融合,将多个优化器算子按数据类型融合成,带来性能提升。目前已在CPU AdamWeightDecay优化器上做过验证。用户可以通过网络cell类中的flatten_weights方法启用该功能。
2923
2924#### Executor
2925
2926- [STABLE] 开放南向芯片对接接口。
2927- [STABLE] 使用多Actor融合执行提升运行时的执行性能。
2928- [STABLE] NopOp算子(eg. Reshape)执行消除。
2929- [STABLE] Embedding Cache架构切换统一分布式运行时。
2930- [STABLE] Parameter Server训练切换统一分布式运行时。
2931- [STABLE] 支持CPU Parameter Server模式训练。
2932
2933#### DataSet
2934
2935- [STABLE] 对于数据集对象使用map操作时,同时num_parallel_workers>1并且python_multiprocessing=True时,进行了多进程的机制优化,使得数据通道与子进程一一映射,避免了过多的文件句柄占用,同时close_pool这个接口也被删除。
2936- [STABLE] 新增一批Vision、Text和Audio类数据增强操作。
2937- [STABLE] 修复数据集类的flat_map方法未将结果展平的错误。
2938- [STABLE] 统一数据集增强API的导入路径,提供更简单的使用方法,请参阅[最新的API用法](https://www.mindspore.cn/docs/zh-CN/r1.8/api_python/mindspore.dataset.vision.html)2939
2940### API变更
2941
2942#### 算子
2943
2944- [STABLE] ops.adaptive_avg_pool2d 新增GPU支持。
2945- [BETA] ops.adaptive_max_pool2d  新增Ascend、GPU、CPU支持。
2946- [BETA] ops.approximate_equal 新增CPU支持。
2947- [STABLE] ops.argmin 新增CPU支持。
2948- [BETA] ops.assign_sub 新增CPU支持。
2949- [STABLE] ops.bernoulli 新增GPU支持。
2950- [BETA] ops.bessel_i0 新增CPU支持。
2951- [BETA] ops.bessel_i0e 新增CPU支持。
2952- [BETA] ops.bessel_i1 新增CPU支持。
2953- [BETA] ops.bessel_i1e 新增CPU支持。
2954- [STABLE] ops.bessel_j0 新增CPU支持。
2955- [STABLE] ops.bessel_j1 新增CPU支持。
2956- [STABLE] ops.bessel_k0 新增CPU支持。
2957- [STABLE] ops.bessel_k0e 新增CPU支持。
2958- [BETA] ops.bessel_k1 新增CPU支持。
2959- [BETA] ops.bessel_k1e 新增CPU支持。
2960- [STABLE] ops.bessel_y0 新增CPU支持。
2961- [STABLE] ops.bessel_y1 新增CPU支持。
2962- [STABLE] ops.bitwise_and 新增CPU支持。
2963- [STABLE] ops.bitwise_or 新增CPU支持。
2964- [STABLE] ops.bitwise_xor 新增CPU支持。
2965- [STABLE] ops.broadcast_to 新增functional接口。
2966- [BETA] ops.ceil 新增GPU、CPU支持。
2967- [BETA] ops.col2im 新增GPU支持。
2968- [BETA] ops.concat 新增functional接口。
2969- [STABLE] ops.cosh 新增GPU支持。
2970- [STABLE] ops.ctc_greedy_decoder 新增Ascend、CPU支持。
2971- [BETA] ops.DataFormatDimMap 新增GPU、CPU支持。
2972- [BETA] ops.dropout2d 新增GPU、CPU支持。
2973- [BETA] ops.dropout3d 新增CPU支持。
2974- [BETA] ops.erf 新增CPU支持。
2975- [BETA] ops.erfc 新增CPU支持。
2976- [STABLE] ops.expand_dims 新增functional接口。
2977- [STABLE] ops.fast_gelu 新增GPU、CPU支持。
2978- [STABLE] ops.flatten Ascend动态shape支持。
2979- [BETA] ops.ger 新增GPU、CPU支持。
2980- [STABLE] ops.gumbel_softmax 新增Ascend、GPU、CPU支持。
2981- [BETA] ops.hardshrink 新增GPU、CPU支持。
2982- [BETA] ops.index_add 新增CPU支持。
2983- [BETA] ops.inplace_add 新增CPU支持。
2984- [BETA] ops.inplace_sub 新增CPU支持。
2985- [STABLE] ops.intopk 新增CPU支持。
2986- [STABLE] ops.inv 新增GPU、CPU支持。
2987- [STABLE] ops.invert 新增GPU、CPU支持。
2988- [BETA] ops.isclose 新增CPU支持。
2989- [STABLE] ops.lerp 新增CPU支持。
2990- [BETA] ops.linspace 新增CPU支持。
2991- [BETA] ops.log_softmax 新增functional接口。
2992- [BETA] ops.norm 新增Ascend、GPU、CPU支持。
2993- [BETA] ops.lrn 新增CPU支持。
2994- [BETA] ops.masked_select 新增GPU支持。
2995- [BETA] ops.matrix_band_part 新增GPU、CPU支持。
2996- [BETA] ops.matrix_solve 新增GPU、CPU支持。
2997- [BETA] ops.meshgrid 新增CPU支持。
2998- [STABLE] ops.mish 新增CPU支持。
2999- [BETA] ops.nonzero  新增GPU支持。
3000- [STABLE] ops.padding 新增GPU、CPU支持。
3001- [BETA] ops.pow 新增Ascend动态shape支持。
3002- [BETA] ops.range 新增functional接口。
3003- [BETA] ops.round 新增Ascend动态shape支持。
3004- [STABLE] ops.scatter_add 新增Ascend动态shape支持。
3005- [STABLE] ops.scatter_div 新增Ascend动态shape支持。
3006- [BETA] ops.scatter_max 新增GPU支持。
3007- [BETA] ops.scatter_min 新增GPU支持。
3008- [BETA] ops.scatter_nd_add 新增CPU支持。
3009- [STABLE] ops.scatter_nd_div 新增GPU、CPU支持。
3010- [STABLE] ops.scatter_nd_min 新增GPU、CPU支持。
3011- [STABLE] ops.scatter_nd_mul 新增GPU、CPU支持。
3012- [BETA] ops.scatter_nd_sub 新增CPU支持。
3013- [STABLE] ops.scatter_update 新增Ascend动态shape支持。
3014- [BETA] ops.select 新增Ascend动态shape支持。
3015- [BETA] ops.selu 新增GPU、CPU支持。
3016- [BETA] ops.soft_shrink 新增GPU、CPU支持。
3017- [BETA] ops.softsign 新增CPU支持。
3018- [STABLE] ops.tan 新增GPU支持。
3019- [BETA] ops.tensor_scatter_add 新增Ascend、CPU支持。
3020- [STABLE] ops.tensor_scatter_div 新增GPU、CPU支持。
3021- [STABLE] ops.tensor_scatter_mul 新增GPU、CPU支持。
3022- [BETA] ops.tensor_scatter_sub 新增Ascend、CPU支持。
3023- [STABLE] nn.AdaptiveAvgPool1d 新增Ascend、GPU、CPU支持。
3024- [STABLE] nn.AdaptiveMaxPool1d 新增Ascend、GPU、CPU支持。
3025- [BETA] nn.BiDense 新增Ascend、GPU、CPU支持。
3026- [STABLE] nn.ConstantPad1d 新增Ascend、GPU、CPU支持。
3027- [STABLE] nn.ConstantPad2d 新增Ascend、GPU、CPU支持。
3028- [STABLE] nn.ConstantPad3d 新增Ascend、GPU、CPU支持。
3029- [STABLE] nn.Hardtanh 新增Ascend、GPU、CPU支持。
3030- [STABLE] nn.HuberLoss 新增Ascend、GPU、CPU支持。
3031- [STABLE] nn.RReLU 新增Ascend、GPU、CPU支持。
3032- [STABLE] nn.Tanhshrink 新增Ascend、GPU、CPU支持。
3033- [STABLE] nn.Threshold 新增Ascend、GPU、CPU支持。
3034- [STABLE] nn.ZeroPad2d 新增Ascend、GPU、CPU支持。
3035- [BETA] ops.unique_consecutive 新增GPU支持。
3036- [STABLE] ops.unsorted_segment_max 新增CPU支持。
3037- [STABLE] ops.unsorted_segment_min 新增CPU支持。
3038- [STABLE] ops.unsorted_segment_prod 新增GPU支持。
3039
3040#### 非兼容性变更
3041
3042##### Python API
3043
3044- 不再支持DVPP模拟算法,删除 `mindspore.dataset.vision.c_transforms.SoftDvppDecodeRandomCropResizeJpeg` 和 `mindspore.dataset.vision.c_transforms.SoftDvppDecodeResizeJpeg` 接口。
3045- LossMonitor中增加`on_train_epoch_end` 方法,实现在 `mindspore.train.Model.fit` 中使用时,打印epoch级别的metric信息。
3046- TimeMonitor打印内容变更,打印内容加入"train"或"eval"用于区分训练和推理阶段。
3047- load_checkpoint 接口的`filter_prefix`:不再支持空字符串(""),匹配规则由强匹配修改为模糊匹配。
3048
3049#### import优化
3050
3051mindspore.contextmindspore.parallelmindspore.profilermindspore.train模块的接口可直接在mindspore模块使用。原有用法仍可以继续支持。
3052
3053例如:
3054
3055- `mindspore.context.set_context`可简化为`mindspore.set_context`。
3056- `mindspore.parallel.set_algo_parameters`可简化为`mindspore.set_algo_parameters`。
3057- `mindspore.profiler.Profiler`可简化为`mindspore.Profiler`。
3058- `mindspore.train.callback.Callback`可简化为`mindspore.train.Callback`。
3059
3060API页面统一汇总至:<https://www.mindspore.cn/docs/zh-CN/r1.8/api_python/mindspore.html>。
3061
3062### 贡献者
3063
3064感谢以下人员做出的贡献:
3065
3066AGroupofProbiotocs, anzhengqi, askmiao, baihuawei, baiyangfan, bai-yangfan, bingyaweng, BowenK, buxue, caifubi, CaoJian, caojian05, caozhou, Cathy, changzherui, chenbo116, chenfei, chengxianbin, chenhaozhe, chenjianping, chenzomi, chenzupeng, chujinjin, cj, cjh9368, Corleone, damon0626, danish, Danish, davidmc, dayschan, doitH, dong-li001, fary86, fuzhiye, Gaoxiong, GAO_HYP_XYJ, gengdongjie, Gogery, gongdaguo, gray0v0, gukecai, guoqi, gzhcv, hangq, hanhuifeng2020, Harshvardhan, He, heleiwang, hesham, hexia, Hoai, HuangBingjian, huangdongrun, huanghui, huangxinjing, huqi, huzhifeng, hwjiaorui, Jiabin Liu, jianghui58, Jiaqi, jin-xiulang, jinyaohui, jjfeing, John, jonyguo, JulyAi, jzg, kai00, kingfo, kingxian, kpy, kswang, liuyongqi, laiyongqiang, leonwanghui, liangchenghui, liangzelang, lichen_101010, lichenever, lihongkang, lilei, limingqi107, ling, linqingke, Lin Xh, liubuyu, liuwenhao4, liuxiao78, liuxiao93, liuyang_655, liuzhongkai, Lixia, lixian, liyanliu, liyong, lizhenyu, luopengting, lvchangquan, lvliang, lz, maning202007, Margaret_wangrui, mengyuanli, Ming_blue, ms_yan, ougongchang, panfengfeng, panyifeng, Payne, Peilin, peixu_ren, Pengyongrong, qianlong, qianjiahong, r1chardf1d0, riemann_penn, rmdyh, Sheng, shenwei41, simson, Simson, Su, sunsuodong, tao_yunhao, tinazhang, VectorSL, , Wan, wandongdong, wangdongxu, wangmin,  wangyue01, wangzhe, wanyiming, Wei, wenchunjiang, wilfChen, WilliamLian, wsc, wudenggang, wukesong, wuweikang, wuxuejian, Xiao Tianci, Xiaoda, xiefangqi, xinyunfan, xuanyue, xuyongfei, yanghaitao, yanghaitao1, yanghaoran, YangLuo, yangruoqi713, yankai, yanzhenxiang2020, yao_yf, yepei6, yeyunpeng, Yi, yoni, yoonlee666, yuchaojie, yujianfeng, yuximiao, zengzitao, Zhang,  zhanghuiyao, zhanghui_china, zhangxinfeng3, zhangyihui, zhangz0911gm, zhanke, zhanyuan, zhaodezan, zhaojichen, zhaoting, zhaozhenlong, zhengjun10, zhiqwang, zhoufeng, zhousiyi, zhouyaqiang, zhouyifengCode, Zichun, Ziyan, zjun, ZPaC, wangfengwfwf, zymaa, gerayking, shu-kun-zhang.
3067
3068欢迎以任何形式对项目提供贡献!
3069
3070## MindSpore Lite 1.8.0 Release Notes
3071
3072### 主要特性和增强
3073
3074#### API
3075
3076- [STABLE] 新增模型转换的C++和Python API.
3077- [STABLE] 新增模型推理的Python API.
3078
3079#### 后量化
3080
3081- [STABLE] 后量化支持PerLayer量化,同时内置CLE算法优化精度。
3082
3083## MindSpore 1.7.0 Release Notes
3084
3085### 主要特性和增强
3086
3087#### OS
3088
3089- [STABLE] 支持Python 3.8版本(Linux/Windows/Mac)。
3090- [STABLE] 简化安装,提供详细安装指南和自动化安装脚本。
3091- [STABLE] Windows版本支持算子多线程。
3092- [STABLE] GCC兼容7.3到9.x版本。
3093
3094#### FrontEnd
3095
3096- [STABLE] 优化器支持动态权重衰减,即训练期间权重衰减值随着step的增加而变化。
3097- [STABLE] 增加四种创建Tensor的方法,分别是`mindspore.numpy.rand()`、`mindspore.numpy.randn()`、`mindspore.numpy.randint()`和`mindspore.ops.arange ()`。
3098- [STABLE] 增加一种callback方法 `mindspore.train.callback.History`。
3099- [BETA] 自定义算子支持Julia算子。
3100- [STABLE] 通过 `mindspore.ms_class` 类装饰器,支持获取用户自定义类的属性和方法。
3101- [STABLE] 支持同时存在副作用算子和控制流语句的网络的训练。
3102- [STABLE] 支持更复杂的控制流语法,比如在while的循环体里使用for语句。
3103- [STABLE] 通过减少子图数量,提升包含复杂控制流语法的网络的性能。
3104
3105#### PyNative
3106
3107- [STABLE] 在PyNative模式下支持hook函数功能,包括前向hook接口register_forward_pre_hook、register_forward_hook和反向hook接口register_backward_hook。
3108- [STABLE] 优化PyNative模式执行性能,并行执行前端Python与后端C++。
3109
3110#### Auto Parallel
3111
3112- [STABLE] 在MoE场景中支持TopK的路由、数据并行和优化器切分。
3113- [STABLE] 支持AllGather/ReduceScatter通信算子融合,在DATA_PARALLEL模式支持AllReduce按数据量大小编译。
3114- [STABLE] 在并行模式下支持ops.clip_by_global_norm3115- [STABLE] 在并行模式下支持AdaSum优化器。
3116- [STABLE] 支持自动优化器切分。
3117- [STABLE] 支持AlltoAll可配置开启,支持自动插入VirtualDatasetCell。
3118- [STABLE] 在流水线并行训练中,支持自动推断可训练的参数。
3119- [STABLE] 支持集群的设备数目不为2的幂次方。
3120- [STABLE] 在自动并行模式中支持策略传播。
3121- [STABLE] 在统一运行时中支持异构训练。
3122- [STABLE] 支持CPU的Adafactor算子。
3123- [STABLE] 支持Conv2d/Conv2D的H/W轴切分和Transpose算子。支持ResizeBilinear、ROIAlign、CropAndResize、BoundingBoxEncode、IOU和RandomChoiceWithMask等分布式算子。
3124
3125#### Executor
3126
3127- [BETA] [数据并行训练容灾](https://www.mindspore.cn/tutorials/experts/zh-CN/r1.7/parallel/train_gpu.html#%E5%AE%B9%E7%81%BE%E6%81%A2%E5%A4%8D) 支持多卡数据并行训练容灾恢复。
3128- [BETA] 支持在CPU下的线程数搜索,获取最优线程数来执行。整个搜索过程需要耗时50个steps,整体的性能会在50个steps后达到稳定的状态。在测试性能的时候,需要以50个steps之后的数据作为标准。
3129
3130#### DataSet
3131
3132- [STABLE] 增加了数据处理API的差异文档,比较TensorFlow.dataMindSpore.dataset部分算子的差异,详见 [对比文档](https://www.mindspore.cn/docs/zh-CN/r1.7/note/api_mapping/tensorflow_api_mapping.html#tf-data)3133- [STABLE] Python多进程逻辑优化,保证不同异常场景的正常退出。
3134- [STABLE] 支持[自动数据加速](https://www.mindspore.cn/tutorials/experts/zh-CN/master/dataset/dataset_autotune.html),可以自适应调节数据处理管道的执行速度。
3135- [BETA] [数据处理异构加速](https://www.mindspore.cn/tutorials/experts/zh-CN/master/dataset/dataset_offload.html) 支持了新的数据增强操作: RandomColorAdjust、RandomSharpness和TypeCast。
3136- GeneratorDataset加载自定义数据集时,当`__getitem__/__next__`方法返回单个NumPy对象,对应会输出单个数据列。
3137- 用户在数据预处理中使用过多的进程数/线程数情况下,会出现错误RuntimeError: can't start new thread,可以通过 `ulimit -u 10240` 增加当前用户可用的线程/进程数解决。
3138
3139### API变更
3140
3141#### 非兼容性变更
3142
3143##### Python API
3144
3145- 修改register_backward_hook功能对应hook的梯度返回值类型,将梯度返回值统一改成tuple类型。([!31876](https://gitee.com/mindspore/mindspore/pulls/31876))
3146- 弃用的import用法: `import mindspore.dataset.engine.datasets as ds` ,因其import目录过深且过度依赖Python目录结构。推荐使用 `import mindspore.dataset as ds` ,更多参考详见 [API文档](https://www.mindspore.cn/docs/zh-CN/r1.7/api_python/mindspore.dataset.html)3147- 新增`mindspore.ms_class` 接口,作为用户自定义类的类装饰器,使得MindSpore能够识别用户自定义类,并且获取这些类的属性和方法。([!30855](https://gitee.com/mindspore/mindspore/pulls/30855))
3148- `mindspore.SparseTensor`接口废弃使用,对应新接口为`mindspore.COOTensor`。 ([!28505](https://gitee.com/mindspore/mindspore/pulls/28505))
3149- Tensor新增一个入参`internal`,作为框架内部使用。
3150
3151### 贡献者
3152
3153感谢以下人员做出的贡献:
3154
3155AGroupofProbiotocs, anzhengqi, askmiao, baihuawei, baiyangfan, bai-yangfan, bingyaweng, BowenK, buxue, caifubi, CaoJian, caojian05, caozhou, Cathy, changzherui, chenbo116, chenfei, chengxianbin, chenhaozhe, chenjianping, chenzomi, chenzupeng, chujinjin, cj, cjh9368, Corleone, damon0626, danish, Danish, davidmc, dayschan, doitH, dong-li001, fary86, fuzhiye, Gaoxiong, GAO_HYP_XYJ, gengdongjie, Gogery, gongdaguo, gray0v0, gukecai, guoqi, gzhcv, hangq, hanhuifeng2020, Harshvardhan, He, heleiwang, hesham, hexia, Hoai, HuangBingjian, huangdongrun, huanghui, huangxinjing, huqi, huzhifeng, hwjiaorui, Jiabin Liu, jianghui58, Jiaqi, jin-xiulang, jinyaohui, jjfeing, John, jonyguo, JulyAi, jzg, kai00, kingfo, kingxian, kpy, kswang, liuyongqi, laiyongqiang, leonwanghui, liangchenghui, liangzelang, lichen_101010, lichenever, lihongkang, lilei, limingqi107, ling, linqingke, Lin Xh, liubuyu, liuwenhao4, liuxiao78, liuxiao93, liuyang_655, liuzhongkai, Lixia, lixian, liyanliu, liyong, lizhenyu, luopengting, lvchangquan, lvliang, lz, maning202007, Margaret_wangrui, mengyuanli, Ming_blue, ms_yan, ougongchang, panfengfeng, panyifeng, Payne, Peilin, peixu_ren, Pengyongrong, qianlong, qianjiahong, r1chardf1d0, riemann_penn, rmdyh, Sheng, shenwei41, simson, Simson, Su, sunsuodong, tao_yunhao, tinazhang, VectorSL, , Wan, wandongdong, wangdongxu, wangmin,  wangyue01, wangzhe, wanyiming, Wei, wenchunjiang, wilfChen, WilliamLian, wsc, wudenggang, wukesong, wuweikang, wuxuejian, Xiao Tianci, Xiaoda, xiefangqi, xinyunfan, xuanyue, xuyongfei, yanghaitao, yanghaitao1, yanghaoran, YangLuo, yangruoqi713, yankai, yanzhenxiang2020, yao_yf, yepei6, yeyunpeng, Yi, yoni, yoonlee666, yuchaojie, yujianfeng, yuximiao, zengzitao, Zhang,  zhanghuiyao, zhanghui_china, zhangxinfeng3, zhangyihui, zhangz0911gm, zhanke, zhanyuan, zhaodezan, zhaojichen, zhaoting, zhaozhenlong, zhengjun10, zhiqwang, zhoufeng, zhousiyi, zhouyaqiang, zhouyifengCode, Zichun, Ziyan, zjun, ZPaC, wangfengwfwf, zymaa, gerayking.
3156
3157欢迎以任何形式对项目提供贡献!
3158
3159## MindSpore Lite 1.7.0 Release Notes
3160
3161### 主要特性和增强
3162
3163#### 后量化
3164
3165- [STABLE] 后量化支持动态量化算法。
3166- [BETA] 后量化模型支持在英伟达GPU上执行推理。
3167