diff --git a/docs/source_zh_cn/constraints_on_network_construction.md b/docs/source_zh_cn/constraints_on_network_construction.md index b7a6d5cd0b3cd6a59fa99dd889b78260e7066897..42fd829e95400de081fafd01f10a895411f8b4d6 100644 --- a/docs/source_zh_cn/constraints_on_network_construction.md +++ b/docs/source_zh_cn/constraints_on_network_construction.md @@ -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`。 ### 不支持的语法 目前在网络构造函数里面暂不支持以下语法: