提交 0544bc6b 编写于 作者: M mindspore-ci-bot 提交者: Gitee

!67 update parse grammar support documentation

Merge pull request !67 from zhangbuxue/update_parse_grammar_support_documentation
......@@ -41,7 +41,7 @@
| 操作名 | 具体操作
| :----------- |:--------
| 一元操作符 |`+``-``not`,其中`+`操作符只支持标量。
| 二元操作符 |`+``-``*``/``%`
| 数学表达式 |`+``-``*``/``%``**``//`
| `if`表达式 |例如`a = x if x < y else y`
| 比较表达式 | `>``>=``<``<=``==``!=`
| 逻辑表达式 | `and``or`
......@@ -55,6 +55,8 @@
| `for` | 迭代序列必须是Tuple/List,部分嵌套场景支持。
| `while` | 部分嵌套场景支持。
| `if` | 与Python使用原则一致,但if条件的输入只支持常量。
| `in` | 仅支持Dictionary
| `not in` | 仅支持Dictionary
| `def` | 相同。
| 赋值语句 | List和Dictionary的多重下标访问不支持作为左值。
......@@ -67,7 +69,7 @@
### 函数参数
* 参数默认值:目前不支持默认值设为`Tensor`类型数据,支持`int``float``bool``None``str``tuple``list``dict`类型数据。
* 可变参数:目前不支持带可变参数的函数求反向
* 可变参数:支持带可变参数网络的推理和训练
* 键值对参数:目前不支持带键值对参数的函数求反向。
* 可变键值对参数:目前不支持带可变键值对的函数求反向。
......@@ -75,10 +77,13 @@
| 运算符 | 支持类型
| :----------- |:--------
| `+` |标量、`Tensor``tuple`
| `+` |标量、`Tensor``tuple``string`
| `-` |标量、`Tensor`
| `*` |标量、`Tensor`
| `/` |标量、`Tensor`
| `**` |标量、`Tensor`
| `//` |标量、`Tensor`
| `%` |标量、`Tensor`
| `[]` |操作对象类型支持`list``tuple``Tensor`,支持多重下标访问作为右值,但不支持多重下标访问作为左值,且索引类型不支持Tensor;Tuple、Tensor类型访问限制见切片操作中的说明。
### 切片操作
......@@ -104,7 +109,9 @@
- `step0`:在第0维上进行切片的步长,类型为`int`,取值范围为`step != 0`。可缺省,缺省值为`1`
- 如果进行切片的维数少于`Tensor`的维数,则未指定切片的维度默认取全部元素。
- 切片降维操作:在某维度上传入整数索引,则取出该维度上对应索引的元素,且消除该维度,如shape为(4, 3, 6)的`tensor_x[2:4:1, 1, 0:5:2]`切片之后,生成一个shape为(2, 3)的`Tensor`,原`Tensor`的第1维被消除。
- Ellipsis作为索引:与numpy保持一致,未明确指定如何操作的维度,都对应取全部元素,shape为(3, 4, 5, 6)的`tensor_x[1:3:1, ..., 0:5:2]`切片之后,第1维和第2维取全部元素,生成一个shape为(2, 4, 5, 3)的`Tensor`
- None作为索引:与numpy保持一致,如shape为(3, 4, 5)的`tensor_x[None]`返回的是一个维度扩展之后,shape为(1, 3, 4, 5)的`Tensor`
- True作为索引:与numpy保持一致,如shape为(3, 4, 5)的`tensor_x[True]`返回的是一个维度扩展之后,shape为(1, 3, 4, 5)的`Tensor`
### 不支持的语法
目前在网络构造函数里面暂不支持以下语法:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册