From a9373ff84ea9dcbdffd0678e3203206d29156f59 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Fri, 20 Sep 2024 23:06:11 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E3=80=90Hackathon=207th=20No.38=E3=80=91?= =?UTF-8?q?=E4=B8=BA=20Paddle=20=E4=BB=A3=E7=A0=81=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=96=B0=E5=A2=9E=20API=20=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E8=A7=84=E5=88=99=EF=BC=88=E7=AC=AC5=E7=BB=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tensor/torch.Tensor.isneginf.md | 15 +++++++ .../Tensor/torch.Tensor.isposinf.md | 15 +++++++ .../Tensor/torch.Tensor.isreal.md | 15 +++++++ .../Tensor/torch.Tensor.positive.md | 11 +++++ .../Tensor/torch.Tensor.scatter_reduce.md | 26 +++++++++++ .../api_difference/torch/torch.block_diag.md | 33 ++++++++++++++ .../api_difference/torch/torch.can_cast.md | 9 ++++ .../torch/torch.cartesian_prod.md | 33 ++++++++++++++ .../api_difference/torch/torch.concatenate.md | 35 +++++++++++++++ .../api_difference/torch/torch.float_power.md | 43 +++++++++++++++++++ .../api_difference/torch/torch.isin.md | 24 +++++++++++ .../api_difference/torch/torch.isneginf.md | 34 +++++++++++++++ .../api_difference/torch/torch.isposinf.md | 34 +++++++++++++++ .../api_difference/torch/torch.isreal.md | 21 +++++++++ .../api_difference/torch/torch.positive.md | 11 +++++ .../torch/torch.scatter_reduce.md | 27 ++++++++++++ 16 files changed, 386 insertions(+) create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isneginf.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isposinf.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isreal.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.block_diag.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.cartesian_prod.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isreal.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isneginf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isneginf.md new file mode 100644 index 00000000000..0f3efe8bd0e --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isneginf.md @@ -0,0 +1,15 @@ +## [无参数]torch.Tensor.isneginf + +### [torch.Tensor.isneginf ](https://pytorch.org/docs/stable/generated/torch.Tensor.isneginf.html#torch.Tensor.isneginf) + +```python +torch.Tensor.isneginf() +``` + +### [paddle.Tensor.isneginf](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#isneginf-name-none) + +```python +paddle.Tensor.isneginf(name=None) +``` + +两者功能一致,无参数。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isposinf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isposinf.md new file mode 100644 index 00000000000..793396aa479 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isposinf.md @@ -0,0 +1,15 @@ +## [无参数]torch.Tensor.isposinf + +### [torch.Tensor.isposinf](https://pytorch.org/docs/stable/generated/torch.Tensor.isposinf.html#torch.Tensor.isposinf) + +```python +torch.Tensor.isposinf() +``` + +### [paddle.Tensor.isposinf](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#isposinf-name-none) + +```python +paddle.Tensor.isposinf(name=None) +``` + +两者功能一致,无参数。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isreal.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isreal.md new file mode 100644 index 00000000000..0929436879a --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.isreal.md @@ -0,0 +1,15 @@ +## [无参数]torch.Tensor.isreal + +### [torch.Tensor.isreal](https://pytorch.org/docs/stable/generated/torch.Tensor.isreal.html#torch.Tensor.isreal) + +```python +Tensor.isreal() +``` + +### [paddle.Tensor.isreal](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#isreal-name-none) + +```python +paddle.Tensor.isreal(name=None) +``` + +两者功能一致,无参数。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md new file mode 100644 index 00000000000..c604410eab8 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md @@ -0,0 +1,11 @@ +## [功能缺失]torch.Tensor.positive + +[torch.Tensor.positive](https://pytorch.org/docs/stable/generated/torch.Tensor.positive.html#torch.Tensor.positive) + +```python +torch.Tensor.positive() +``` + +判断 `input` 是否是 bool 类型的 Tensor,如果是则抛出 RuntimeError 异常,否则返回 `input` 。 + +Paddle 当前无对应 API 功能。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md new file mode 100644 index 00000000000..1b617fe60a4 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md @@ -0,0 +1,26 @@ +## [paddle 参数更多]torch.Tensor.scatter_reduce + +### [torch.Tensor.scatter_reduce](https://pytorch.org/docs/stable/generated/torch.Tensor.scatter_reduce.html#torch-tensor-scatter-reduce) + +```python +Tensor.scatter_reduce(dim, index, src, reduce, *, include_self=True) +``` + +### [paddle.Tensor.put_along_axis](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#put-along-axis-indices-value-axis-reduce-assign-include-self-true-broadcast-true) + +```python +paddle.Tensor.put_along_axis(indices, value, axis, reduce="assign", include_self=True, broadcast=True) +``` + +其中 Paddle 相比 PyTorch 支持更多其他参数,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| ------------ | ------------ | ------------------------------------------------------------ | +| dim | axis | 表示 scatter 的维度,仅参数名不一致。 | +| index | indices | 表示输入的索引张量,仅参数名不一致。 | +| src | value | 表示需要插入的值,仅参数名不一致。 | +| reduce | reduce | 表示插入 value 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| include_self | include_self | 表示插入 value 时是否包含输入元素中的值。 | +| - | broadcast | 表示是否需要广播索引张量矩阵,PyTorch 无此参数,Paddle 应设置为 `False` 才与 PyTorch 一致 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.block_diag.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.block_diag.md new file mode 100644 index 00000000000..e9b4c66468f --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.block_diag.md @@ -0,0 +1,33 @@ +## [输入参数类型不一致]torch.block_diag + +### [torch.block_diag](https://pytorch.org/docs/stable/generated/torch.block_diag.html#torch-block-diag) + +```python +torch.block_diag(*tensors) +``` + +### [paddle.block_diag](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/block_diag_cn.html) + +```python +paddle.block_diag(inputs, name=None) +``` + +二者功能一致但参数类型不一致,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| -------- | ------------ | ------------------------------------------------------------ | +| *tensors | inputs | 一组输入 Tensor,PyTorch 参数 tensors 为可变参数,Paddle 参数 inputs 为 list(Tensor) 或 tuple(Tensor) 的形式。 | + +### 转写示例 + +#### *tensors:一组输入 Tensor + +```python +# PyTorch 写法 +torch.block_diag(x, y, z) + +# Paddle 写法 +paddle.block_diag([x, y, z]) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md new file mode 100644 index 00000000000..5744bb9b0d3 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md @@ -0,0 +1,9 @@ +## [功能缺失]torch.can_cast + +### [torch.can_cast](https://pytorch.org/docs/stable/generated/torch.can_cast.html#torch-can-cast) + +```python +torch.can_cast(from_, to) +``` + +判断类型的转换在 PyTorch 的[casting 规则](https://pytorch.org/docs/stable/tensor_attributes.html#type-promotion-doc)中是否被允许,暂未发现 Paddle 中有 api 能实现该功能。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.cartesian_prod.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.cartesian_prod.md new file mode 100644 index 00000000000..dbcae71d453 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.cartesian_prod.md @@ -0,0 +1,33 @@ +## [输入参数类型不一致]torch.cartesian_prod + +### [torch.cartesian_prod](https://pytorch.org/docs/stable/generated/torch.cartesian_prod.html#torch-cartesian-prod) + +```python +torch.cartesian_prod(*tensors) +``` + +### [paddle.cartesian_prod](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/cartesian_prod_cn.html) + +```python +paddle.cartesian_prod(x, name=None) +``` + +两者功能一致但参数类型不一致,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| -------- | ------------ | ------------------------------------------------------------ | +| *tensors | x | 一组输入 Tensor , PyTorch 参数 tensors 为可变参, Paddle 参数 x 为 list(Tensor) 或 tuple(Tensor) 的形式。 | + +### 转写示例 + +#### *tensors:一组输入 Tensor + +```python +# PyTorch 写法 +torch.cartesian_prod(a, b) + +# Paddle 写法 +paddle.cartesian_prod([a, b]) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md new file mode 100644 index 00000000000..03e6ec2eefc --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md @@ -0,0 +1,35 @@ +## [torch 参数更多]torch.concatenate + +### [torch.concatenate](https://pytorch.org/docs/stable/generated/torch.concatenate.html#torch-concatenate) + +```python +torch.concatenate(tensors, dim=0, out=None) +``` + +### [paddle.concat](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/concat_cn.html) + +```python +paddle.concat(x, axis=0, name=None) +``` + +PyTorch 相比 Paddle 支持更多其他参数,具体如下: + +### 参数映射: + +| PyTorch | PaddlePaddle | 备注 | +| ------- | ------------ | ---------------------------------------------------------- | +| tensors | x | 待联结的 list(Tensor) 或者 tuple(Tensor),仅参数名不一致。 | +| dim | axis | 指定对输入进行运算的轴,仅参数名不一致。 | +| out | - | 表示输出的 Tensor,Paddle 无此参数,需要转写。 | + +### 转写示例: + +#### out:输出的 Tensor + +```python +# PyTorch 写法: +torch.concatenate(x, y) + +# Paddle 写法: +paddle.assign(paddle.concat(x), y) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md new file mode 100644 index 00000000000..52d8836132e --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md @@ -0,0 +1,43 @@ +## [输入参数类型不一致]torch.float_power + +### [torch.float_power](https://pytorch.org/docs/stable/generated/torch.float_power.html#torch-float-power) + +```python +torch.float_power(input, exponent, *, out=None) +``` + +### [paddle.pow](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/pow_cn.html#pow) + +```python +paddle.pow(x, y, name=None) +``` + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| -------- | ------------ | ------------------------------------------------------------ | +| input | x | 表示指数计算时的底数,PyTorch 参数 input 可以为 `int` 或 `float` 类型的 Number,也可以是 Tensor,Paddle 参数为 Tensor。其中,在 PyTorch 调用该 API 时,参数 input 和 exponent 只要其中一个需要是 Tensor 的数据类型。 | +| exponent | y | 表示指数计算时的指数,仅参数名不一致。 | +| out | - | 表示输出的 Tensor ,Paddle 无此函数,需要转写。 | + +### 转写示例 + +#### input:表示指数计算时的底数 + +```python +# PyTorch 写法 +torch.float(number_x, tensor_y) + +# Paddle 写法 +paddle.pow(paddle.to_tensor(number_x), tensor_y) +``` + +#### out:指定的输出 Tensor + +```python +# PyTorch 写法 +torch.float_power(x, y, out=output) + +# Paddle 写法 +paddle.assign(paddle.pow(x.to('float64'), y.to('float64') if isinstance(y, paddle.Tensor) else y), output) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md new file mode 100644 index 00000000000..009b7e4253f --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md @@ -0,0 +1,24 @@ +## [仅参数名不一致]torch.isin + +### [torch.isin](https://pytorch.org/docs/stable/generated/torch.isin.html#torch.isin) + +```python +torch.isin(elements, test_elements, *, assume_unique=False, invert=False) +``` + +### [paddle.isin](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/isin_cn.html) + +```python +paddle.isin(x, test_x, assume_unique=False, invert=False, name=None) +``` + +两者功能一致且参数用法一致,仅参数名不一致,具体如下: + +### 参数映射: + +| PyTorch | PaddlePaddle | 备注 | +| ------------- | ------------- | ------------------------------------------------ | +| elements | x | 输入的 tensor,仅参数名不一致。 | +| test_elements | test_x | 用于检测的 tensor,仅参数名不一致。 | +| assume_unique | assume_unique | 表示输入的 tensor 和用于检测的 tensor 元素是否唯一。 | +| invert | invert | 表示是否输出反转的结果。 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md new file mode 100644 index 00000000000..37b2886f26c --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md @@ -0,0 +1,34 @@ +## [torch 参数更多]torch.isneginf + +### [torch.isneginf](https://pytorch.org/docs/stable/generated/torch.isneginf.html#torch-isneginf) + +```python +torch.isneginf(input, *, out=None) +``` + +### [paddle.isneginf](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/isneginf_cn.html) + +```python +paddle.isneginf(x, name=None) +``` + +Pytorch 相比 Paddle 支持更多其他参数,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| ------ | ----------- | ------------------------------------------------ | +| input | x | 输入的 Tensor,仅参数名不一致。 | +| out | - | 表示输出的 Tensor , Paddle 无此参数,需要转写。 | + +### 转写示例 + +#### out:指定输出 + +```python +# Pytorch 写法 +torch.isneginf(a, out=b) + +# Paddle 写法 +paddle.assign(paddle.isneginf(x), y) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md new file mode 100644 index 00000000000..2d8a5bdb566 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md @@ -0,0 +1,34 @@ +## [torch 参数更多]torch.isposinf + +### [torch.isposinf](https://pytorch.org/docs/stable/generated/torch.isposinf.html#torch-isposinf) + +```python +torch.isposinf(input, *, out=None) +``` + +### [paddle.isposinf](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/isposinf_cn.html) + +```python +paddle.isposinf(x, name=None) +``` + +Pytorch 相比 Paddle 支持更多其他参数,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| ------ | ----------- | ------------------------------------------------ | +| input | x | 输入的 Tensor,仅参数名不一致。 | +| out | - | 表示输出的 Tensor , Paddle 无此参数,需要转写。 | + +### 转写实例 + +#### out 参数:指定输出 + +```python +# Pytorch 写法 +torch.isposinf(a, out=b) + +# Paddle 写法 +paddle.assign(paddle.isposinf(x), y) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isreal.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isreal.md new file mode 100644 index 00000000000..57cd94bbf68 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isreal.md @@ -0,0 +1,21 @@ +## [仅参数名不一致]torch.isreal + +### [torch.isreal](https://pytorch.org/docs/stable/generated/torch.isreal.html#torch-isreal) + +```python +torch.isreal(input) +``` + +### [paddle.isreal](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/isreal_cn.html) + +```python +paddle.isreal(x, name=None) +``` + +两者功能一致且参数用法一致,仅参数名不一致,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| ------- | ------------ | ---------------------------------- | +| input | x | 表示输入的 Tensor,仅参数名不一致。 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md new file mode 100644 index 00000000000..639d8386709 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md @@ -0,0 +1,11 @@ +## [功能缺失]torch.positive + +### [torch.positive](https://pytorch.org/docs/stable/generated/torch.positive.html#torch-positive) + +```python +torch.positive(input) +``` + +判断 `input` 是否是 bool 类型的 Tensor,如果是则抛出 RuntimeError 异常,否则返回 `input` 。 + +Paddle 当前无对应 API 功能。 diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md new file mode 100644 index 00000000000..cb47d917838 --- /dev/null +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md @@ -0,0 +1,27 @@ +## [paddle 参数更多]torch.scatter_reduce + +### [torch.scatter_reduce](https://pytorch.org/docs/stable/generated/torch.scatter_reduce.html#torch-scatter-reduce) + +```python +torch.scatter_reduce(input, dim, index, src, reduce, *, include_self=True) +``` + +### [paddle.put_along_axis](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/put_along_axis_cn.html) + +```python +paddle.put_along_axis(arr, indices, values, axis, reduce='assign', include_self=True, broadcast=True) +``` + +其中 Paddle 相比 PyTorch 支持更多其他参数,具体如下: + +### 参数映射 + +| PyTorch | PaddlePaddle | 备注 | +| ------------ | ------------ | ------------------------------------------------------------ | +| input | arr | 表示输入 Tensor,仅参数名不一致。 | +| dim | axis | 表示沿着哪个维度 scatter,仅参数名不一致。 | +| index | indices | 表示输入的索引张量,仅参数名不一致。 | +| src | values | 表示要插入的值,仅参数名不一致。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| include_self | include_self | 表示插入 values 时是否包含输入 Tensor 中的元素。 | +| - | broadcast | 表示是否需要广播输入的索引张量,PyTorch 无此参数,Paddle 应设置为 `False` 结果才与 pytorch 一致。 | From 17e10a0b2b5ed1e4f02caf6e5f023df87a255cbd Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Sun, 22 Sep 2024 15:35:55 +0800 Subject: [PATCH 2/8] fix docs --- .../Tensor/torch.Tensor.scatter_reduce.md | 10 +++--- .../api_difference/torch/torch.float_power.md | 32 +++---------------- 2 files changed, 9 insertions(+), 33 deletions(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md index 1b617fe60a4..84df40f7b42 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md @@ -9,7 +9,7 @@ Tensor.scatter_reduce(dim, index, src, reduce, *, include_self=True) ### [paddle.Tensor.put_along_axis](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#put-along-axis-indices-value-axis-reduce-assign-include-self-true-broadcast-true) ```python -paddle.Tensor.put_along_axis(indices, value, axis, reduce="assign", include_self=True, broadcast=True) +paddle.Tensor.put_along_axis(indices, values, axis, reduce="assign", include_self=True, broadcast=True) ``` 其中 Paddle 相比 PyTorch 支持更多其他参数,具体如下: @@ -18,9 +18,9 @@ paddle.Tensor.put_along_axis(indices, value, axis, reduce="assign", include_self | PyTorch | PaddlePaddle | 备注 | | ------------ | ------------ | ------------------------------------------------------------ | -| dim | axis | 表示 scatter 的维度,仅参数名不一致。 | +| dim | axis | 表示 scatter 的维度,仅参数名不一致。 | | index | indices | 表示输入的索引张量,仅参数名不一致。 | -| src | value | 表示需要插入的值,仅参数名不一致。 | -| reduce | reduce | 表示插入 value 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | -| include_self | include_self | 表示插入 value 时是否包含输入元素中的值。 | +| src | values | 表示需要插入的值,仅参数名不一致。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| include_self | include_self | 表示插入 values 时是否包含输入元素中的值。 | | - | broadcast | 表示是否需要广播索引张量矩阵,PyTorch 无此参数,Paddle 应设置为 `False` 才与 PyTorch 一致 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md index 52d8836132e..e4dea78b07c 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md @@ -1,4 +1,4 @@ -## [输入参数类型不一致]torch.float_power +## [组合替代实现]torch.float_power ### [torch.float_power](https://pytorch.org/docs/stable/generated/torch.float_power.html#torch-float-power) @@ -6,38 +6,14 @@ torch.float_power(input, exponent, *, out=None) ``` -### [paddle.pow](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/pow_cn.html#pow) - -```python -paddle.pow(x, y, name=None) -``` - -### 参数映射 - -| PyTorch | PaddlePaddle | 备注 | -| -------- | ------------ | ------------------------------------------------------------ | -| input | x | 表示指数计算时的底数,PyTorch 参数 input 可以为 `int` 或 `float` 类型的 Number,也可以是 Tensor,Paddle 参数为 Tensor。其中,在 PyTorch 调用该 API 时,参数 input 和 exponent 只要其中一个需要是 Tensor 的数据类型。 | -| exponent | y | 表示指数计算时的指数,仅参数名不一致。 | -| out | - | 表示输出的 Tensor ,Paddle 无此函数,需要转写。 | +Paddle 无此 API,需要组合实现。 ### 转写示例 -#### input:表示指数计算时的底数 - -```python -# PyTorch 写法 -torch.float(number_x, tensor_y) - -# Paddle 写法 -paddle.pow(paddle.to_tensor(number_x), tensor_y) -``` - -#### out:指定的输出 Tensor - ```python # PyTorch 写法 -torch.float_power(x, y, out=output) +torch.float_pow(x, y, out) # Paddle 写法 -paddle.assign(paddle.pow(x.to('float64'), y.to('float64') if isinstance(y, paddle.Tensor) else y), output) +paddle.assgin(x.cast(paddle.float64).pow(y), out) ``` From 769781657ee3f44f8974368ebc23ceb0f1006b66 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Wed, 25 Sep 2024 10:42:06 +0800 Subject: [PATCH 3/8] fix --- .../Tensor/torch.Tensor.positive.md | 18 +- .../Tensor/torch.Tensor.scatter_reduce.md | 2 +- .../api_difference/torch/torch.can_cast.md | 187 +++++++++++++++++- .../api_difference/torch/torch.concatenate.md | 35 ---- .../api_difference/torch/torch.float_power.md | 14 +- .../api_difference/torch/torch.positive.md | 20 +- 6 files changed, 234 insertions(+), 42 deletions(-) delete mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md index c604410eab8..7afd14e0bec 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md @@ -8,4 +8,20 @@ torch.Tensor.positive() 判断 `input` 是否是 bool 类型的 Tensor,如果是则抛出 RuntimeError 异常,否则返回 `input` 。 -Paddle 当前无对应 API 功能。 +Paddle 无此 API,需要组合实现。 + +### 转写示例 + +```python +# PyTorch 写法 +x.positive() + +# Paddle 写法 +def positive(x): + if x.dtype != paddle.bool: + return x + else: + raise RuntimeError("boolean tensors is not supported.") + +positive(x) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md index 84df40f7b42..abd8cf31ad0 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md @@ -3,7 +3,7 @@ ### [torch.Tensor.scatter_reduce](https://pytorch.org/docs/stable/generated/torch.Tensor.scatter_reduce.html#torch-tensor-scatter-reduce) ```python -Tensor.scatter_reduce(dim, index, src, reduce, *, include_self=True) +torch.Tensor.scatter_reduce(dim, index, src, reduce, *, include_self=True) ``` ### [paddle.Tensor.put_along_axis](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor_cn.html#put-along-axis-indices-value-axis-reduce-assign-include-self-true-broadcast-true) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md index 5744bb9b0d3..485d63dabff 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md @@ -6,4 +6,189 @@ torch.can_cast(from_, to) ``` -判断类型的转换在 PyTorch 的[casting 规则](https://pytorch.org/docs/stable/tensor_attributes.html#type-promotion-doc)中是否被允许,暂未发现 Paddle 中有 api 能实现该功能。 +判断类型的转换在 PyTorch 的[casting 规则](https://pytorch.org/docs/stable/tensor_attributes.html#type-promotion-doc)中是否被允许。 + +Paddle 无此 API,需要组合实现。 + +### 转写示例 + +```python +# PyTorch 写法 +torch.can_cast(x, y) + +# Paddle 写法 +def can_cast(from_, to): + can_cast_dict = { + paddle.bfloat16: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False + }, + paddle.float16: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False, + }, + paddle.float32: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False, + }, + paddle.float64: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False, + }, + paddle.complex64: { + paddle.bfloat16: False, + paddle.float16: False, + paddle.float32: False, + paddle.float64: False, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False, + }, + paddle.complex128: { + paddle.bfloat16: False, + paddle.float16: False, + paddle.float32: False, + paddle.float64: False, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: False, + paddle.int8: False, + paddle.int16: False, + paddle.int32: False, + paddle.int64: False, + paddle.bool: False, + }, + paddle.uint8: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: False, + }, + paddle.int8: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: False, + }, + paddle.int16: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: False, + }, + paddle.int32: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: False, + }, + paddle.int64: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: False, + }, + paddle.bool: { + paddle.bfloat16: True, + paddle.float16: True, + paddle.float32: True, + paddle.float64: True, + paddle.complex64: True, + paddle.complex128: True, + paddle.uint8: True, + paddle.int8: True, + paddle.int16: True, + paddle.int32: True, + paddle.int64: True, + paddle.bool: True, + } + } + return can_cast_dict[from_][to] + +can_cast(x, y) +``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md deleted file mode 100644 index 03e6ec2eefc..00000000000 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.concatenate.md +++ /dev/null @@ -1,35 +0,0 @@ -## [torch 参数更多]torch.concatenate - -### [torch.concatenate](https://pytorch.org/docs/stable/generated/torch.concatenate.html#torch-concatenate) - -```python -torch.concatenate(tensors, dim=0, out=None) -``` - -### [paddle.concat](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/concat_cn.html) - -```python -paddle.concat(x, axis=0, name=None) -``` - -PyTorch 相比 Paddle 支持更多其他参数,具体如下: - -### 参数映射: - -| PyTorch | PaddlePaddle | 备注 | -| ------- | ------------ | ---------------------------------------------------------- | -| tensors | x | 待联结的 list(Tensor) 或者 tuple(Tensor),仅参数名不一致。 | -| dim | axis | 指定对输入进行运算的轴,仅参数名不一致。 | -| out | - | 表示输出的 Tensor,Paddle 无此参数,需要转写。 | - -### 转写示例: - -#### out:输出的 Tensor - -```python -# PyTorch 写法: -torch.concatenate(x, y) - -# Paddle 写法: -paddle.assign(paddle.concat(x), y) -``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md index e4dea78b07c..0191797ca6e 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md @@ -12,8 +12,18 @@ Paddle 无此 API,需要组合实现。 ```python # PyTorch 写法 -torch.float_pow(x, y, out) +torch.float_power(x, y) # Paddle 写法 -paddle.assgin(x.cast(paddle.float64).pow(y), out) +paddle.pow(paddle.cast(x, paddle.float64), y) +``` + +#### out:指定输出 + +```python +# PyTorch 写法 +torch.float_power(x, y, out=out) + +# Paddle 写法 +paddle.assign(paddle.pow(paddle.cast(x, paddle.float64), y), out) ``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md index 639d8386709..7b05f332390 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.positive.md @@ -1,4 +1,4 @@ -## [功能缺失]torch.positive +## [组合替代实现]torch.positive ### [torch.positive](https://pytorch.org/docs/stable/generated/torch.positive.html#torch-positive) @@ -8,4 +8,20 @@ torch.positive(input) 判断 `input` 是否是 bool 类型的 Tensor,如果是则抛出 RuntimeError 异常,否则返回 `input` 。 -Paddle 当前无对应 API 功能。 +Paddle 无此 API,需要组合实现。 + +### 转写示例 + +```python +# PyTorch 写法 +torch.positive(x) + +# Paddle 写法 +def positive(x): + if x.dtype != paddle.bool: + return x + else: + raise RuntimeError("boolean tensors is not supported.") + +positive(x) +``` From 940ec07da84fcee2fb9eb582bb1b30b193327d61 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Wed, 25 Sep 2024 10:45:47 +0800 Subject: [PATCH 4/8] fix --- .../api_difference/Tensor/torch.Tensor.positive.md | 2 +- .../convert_from_pytorch/api_difference/torch/torch.can_cast.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md index 7afd14e0bec..e81c06727c3 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.positive.md @@ -1,4 +1,4 @@ -## [功能缺失]torch.Tensor.positive +## [组合替代实现]torch.Tensor.positive [torch.Tensor.positive](https://pytorch.org/docs/stable/generated/torch.Tensor.positive.html#torch.Tensor.positive) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md index 485d63dabff..f386b54d197 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.can_cast.md @@ -1,4 +1,4 @@ -## [功能缺失]torch.can_cast +## [组合替代实现]torch.can_cast ### [torch.can_cast](https://pytorch.org/docs/stable/generated/torch.can_cast.html#torch-can-cast) From 1a76e879245814bb4f0d0b0a5fcc9fbdedb95ac0 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Wed, 25 Sep 2024 10:56:13 +0800 Subject: [PATCH 5/8] update_param_exp --- .../api_difference/Tensor/torch.Tensor.scatter_reduce.md | 2 +- .../api_difference/torch/torch.scatter_reduce.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md index abd8cf31ad0..f95c2eb284f 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md @@ -21,6 +21,6 @@ paddle.Tensor.put_along_axis(indices, values, axis, reduce="assign", include_sel | dim | axis | 表示 scatter 的维度,仅参数名不一致。 | | index | indices | 表示输入的索引张量,仅参数名不一致。 | | src | values | 表示需要插入的值,仅参数名不一致。 | -| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | | include_self | include_self | 表示插入 values 时是否包含输入元素中的值。 | | - | broadcast | 表示是否需要广播索引张量矩阵,PyTorch 无此参数,Paddle 应设置为 `False` 才与 PyTorch 一致 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md index cb47d917838..7d6cd845cc8 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md @@ -18,10 +18,10 @@ paddle.put_along_axis(arr, indices, values, axis, reduce='assign', include_self= | PyTorch | PaddlePaddle | 备注 | | ------------ | ------------ | ------------------------------------------------------------ | -| input | arr | 表示输入 Tensor,仅参数名不一致。 | -| dim | axis | 表示沿着哪个维度 scatter,仅参数名不一致。 | +| input | arr | 表示输入 Tensor,仅参数名不一致。 | +| dim | axis | 表示沿着哪个维度 scatter,仅参数名不一致。 | | index | indices | 表示输入的索引张量,仅参数名不一致。 | | src | values | 表示要插入的值,仅参数名不一致。 | -| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致,其中 PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | -| include_self | include_self | 表示插入 values 时是否包含输入 Tensor 中的元素。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| include_self | include_self | 表示插入 values 时是否包含输入 Tensor 中的元素。 | | - | broadcast | 表示是否需要广播输入的索引张量,PyTorch 无此参数,Paddle 应设置为 `False` 结果才与 pytorch 一致。 | From 571d1e887a9a2e7c906577b5a4602f5a940d1bb3 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Wed, 25 Sep 2024 19:01:06 +0800 Subject: [PATCH 6/8] fix --- .../api_difference/Tensor/torch.Tensor.float_power.md | 4 ++-- .../api_difference/Tensor/torch.Tensor.scatter_reduce.md | 2 +- .../api_difference/torch/torch.float_power.md | 4 ++-- .../api_difference/torch/torch.scatter_reduce.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.float_power.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.float_power.md index 1c8ad5b3f4c..e43a2f76b25 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.float_power.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.float_power.md @@ -12,8 +12,8 @@ Paddle 无此 API,需要组合实现。 ```python # PyTorch 写法 -y = x.float_power(2) +y = x.float_power(y) # Paddle 写法 -y = x.cast(paddle.float64).pow(2) +y = x.cast(paddle.float64).pow(y) ``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md index f95c2eb284f..90f7ce9e26e 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/Tensor/torch.Tensor.scatter_reduce.md @@ -21,6 +21,6 @@ paddle.Tensor.put_along_axis(indices, values, axis, reduce="assign", include_sel | dim | axis | 表示 scatter 的维度,仅参数名不一致。 | | index | indices | 表示输入的索引张量,仅参数名不一致。 | | src | values | 表示需要插入的值,仅参数名不一致。 | -| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiply`。 | | include_self | include_self | 表示插入 values 时是否包含输入元素中的值。 | | - | broadcast | 表示是否需要广播索引张量矩阵,PyTorch 无此参数,Paddle 应设置为 `False` 才与 PyTorch 一致 | diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md index 0191797ca6e..cd8193ead20 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.float_power.md @@ -15,7 +15,7 @@ Paddle 无此 API,需要组合实现。 torch.float_power(x, y) # Paddle 写法 -paddle.pow(paddle.cast(x, paddle.float64), y) +paddle.pow(x.cast(paddle.float64), y) ``` #### out:指定输出 @@ -25,5 +25,5 @@ paddle.pow(paddle.cast(x, paddle.float64), y) torch.float_power(x, y, out=out) # Paddle 写法 -paddle.assign(paddle.pow(paddle.cast(x, paddle.float64), y), out) +paddle.assign(paddle.pow(x.cast(paddle.float64), y), out) ``` diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md index 7d6cd845cc8..a06a2401f9a 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.scatter_reduce.md @@ -22,6 +22,6 @@ paddle.put_along_axis(arr, indices, values, axis, reduce='assign', include_self= | dim | axis | 表示沿着哪个维度 scatter,仅参数名不一致。 | | index | indices | 表示输入的索引张量,仅参数名不一致。 | | src | values | 表示要插入的值,仅参数名不一致。 | -| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiple`。 | +| reduce | reduce | 表示插入 values 时的计算方式,参数默认值不一致。PyTorch 中该参数无默认值,需要输入,Paddle 中默认值为 `assign`,应设置为与 PyTorch 一致。其中 PyTorch 的 `sum` 对应 Paddle 中的 `add`,PyTorch 的 `prod` 对应 Paddle 中 `multiply`。 | | include_self | include_self | 表示插入 values 时是否包含输入 Tensor 中的元素。 | | - | broadcast | 表示是否需要广播输入的索引张量,PyTorch 无此参数,Paddle 应设置为 `False` 结果才与 pytorch 一致。 | From 23bb1bdd9d2ecb955225814f0ca3183b2b7a7e8c Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Fri, 27 Sep 2024 18:47:04 +0800 Subject: [PATCH 7/8] fix --- .../convert_from_pytorch/api_difference/torch/torch.isneginf.md | 2 +- .../convert_from_pytorch/api_difference/torch/torch.isposinf.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md index 37b2886f26c..f7d301f9aa2 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isneginf.md @@ -27,7 +27,7 @@ Pytorch 相比 Paddle 支持更多其他参数,具体如下: ```python # Pytorch 写法 -torch.isneginf(a, out=b) +torch.isneginf(x, out=y) # Paddle 写法 paddle.assign(paddle.isneginf(x), y) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md index 2d8a5bdb566..2ba94702296 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isposinf.md @@ -27,7 +27,7 @@ Pytorch 相比 Paddle 支持更多其他参数,具体如下: ```python # Pytorch 写法 -torch.isposinf(a, out=b) +torch.isposinf(x, out=y) # Paddle 写法 paddle.assign(paddle.isposinf(x), y) From eacf377fb4272615fdea1a54ba360ded74b94cc5 Mon Sep 17 00:00:00 2001 From: inaomIIsFarell <1344594208@qq.com> Date: Mon, 30 Sep 2024 10:55:54 +0800 Subject: [PATCH 8/8] fix --- .../convert_from_pytorch/api_difference/torch/torch.isin.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md index 009b7e4253f..5aab061510a 100644 --- a/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md +++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/torch/torch.isin.md @@ -1,4 +1,4 @@ -## [仅参数名不一致]torch.isin +## [ 仅参数名不一致 ]torch.isin ### [torch.isin](https://pytorch.org/docs/stable/generated/torch.isin.html#torch.isin)