提交 5c4dfdeb 编写于 作者: D dongzhihong

add more rules

上级 21d49744
## Operator Name Convention ## Operator Name Convention
To make the operator document itself more clear. we recommend operator names observe the listing conventions. To make the operator document itself more clear, we recommend operator names obey the listing conventions.
### Input/Output names ### OpMaker names
* Variable name is prefer uppercase. e.g. `X`, `Y`. But when the variable is tensor, its name should lowercase. e.g. `matrix`, to discriminate with other one. When defining an operator in Paddle, a corresponding `OpMaker` need to be defined. All the `Input`/`Output` and `attrs` will write into the `OpProto` , and will be used in client language to create operator.
* element wise operator, math operator or similar op, please obey common name convention. if the operator only have one output, use `Out`. - Input/Output.
- names follow the `CamelCase` but the first character is uppercase. e.g. `X`, `Y`, `Matrix`, `LastAxisInMatrix`. Input/Output much more like Variables, we prefer to meaningful English words.
- If an operator's Input/Output are not meaningful words, input name starts from `X`. e.g. `X`, `Y`, and output name starts from `Out`. e.g. `Out`.
* we prefer more meaningful input/output name. * Attribute.
* Attribute name follows the normal `CamelCase`. e.g. `x`, `y`, `axis`, `rowwiseMatrix`. Also, attribute name prefers to meaningful English words.
* Comments.
* Input/Output/Attr comment follow the format of `type:meaning`. e.g. `AddOutput("Out", "EigenTensor,Tensor: Output of XX")`. we prefer to more meaningful comment. Some comments like `The first input of Operator` contains no information, we forbid it.
* Operator comment format of` R"DOC(your comment here)DOC"`. if there is math calculation in this operator, you should write the equation in the comment. e.g. `Out = X + Y`.
### Best Practice ### Best Practice
e.g. `rowwise_add`, inputs : `X`, `Y`, outputs : `Out`
e.g. `cosine` , inputs : `X`, `axis`, outputs : `Out` - The operator has one input, one output. e.g.`relu`, inputs: `X`, outputs: `Out`.
- The operator has two input, one output. e.g. `rowwise_add`, inputs : `X`, `Y`, outputs : `Out`.
- The operator contains attribute. e.g. `cosine`, inputs : `X`, `axis`, outputs : `Out`.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册