Created by: Shixiaowei02
PR types
Others
PR changes
Others
Describe
添加 NewInput
和 NewOutput
。
REGISTER_OP_VERSION(test__)
.AddCheckpoint(
R"ROC(
Upgrade reshape, modified one attribute [axis] and add a new attribute [size].
)ROC",
framework::compatible::OpVersionDesc()
.ModifyAttr("axis",
"Increased from the original one method to two.", -1)
.NewAttr("size",
"In order to represent a two-dimensional rectangle, the "
"parameter size is added.",
0))
.AddCheckpoint(
R"ROC(
Add a new attribute [height]
)ROC",
framework::compatible::OpVersionDesc().NewAttr(
"height",
"In order to represent a two-dimensional rectangle, the "
"parameter height is added.",
0))
.AddCheckpoint(
R"ROC(
Add a input [X2] and a output [Y2]
)ROC",
framework::compatible::OpVersionDesc()
.NewInput("X2", "The second input.")
.NewOutput("Y2", "The second output."));
核心接口:
-
AddCheckpoint(string summary, OpVersionDesc desc)
此方法会触发Op
的version++
-
OpVersionDesc
,用于注册本次升级对应的修改点 -
NewAttr(name, default_value)
表示增加了一个attribute
,并需要指定其向前兼容的默认值 -
ModifyAttr(name, default_value)
表示修改了attribute
的行为,并需要指定其向前兼容的默认值 -
NewInput
增加了新的输入 -
NewOutput
增加了新的输出
其他注册方法可以按需增加
全局的 op_capatible_info
会记录每个 Op
最新的版本号(version checkpoint
的次数),并通过 save_inference_model
存储到模型中。
其中记录的版本及描述,会帮助 Inference
和 Lite
来对应升级策略;也可以自动搜集作为 Release Notes
的来源。
设计文档见 Agroup:Op 版本监控及兼容性识别设计(#3366223)