From cd352ebab4c0f26ce08f0820b63bc0e85df96f6c Mon Sep 17 00:00:00 2001
From: ranchongzhi <1942247254@qq.com>
Date: Thu, 4 May 2023 23:03:48 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E5=E4=B8=AAapi=E6=98=A0?=
=?UTF-8?q?=E5=B0=84=E6=96=87=E6=A1=A3=EF=BC=8C=E4=BF=AE=E6=94=B95?=
=?UTF-8?q?=E4=B8=AA=E5=8E=9F=E6=9C=89=E6=96=87=E6=A1=A3=E7=9A=84=E5=86=85?=
=?UTF-8?q?=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api_difference/nn/torch.nn.BCELoss.md | 4 +-
.../nn/torch.nn.BCEWithLogitsLoss.md | 6 +--
.../api_difference/nn/torch.nn.CTCLoss.md | 26 ++++++++++
.../nn/torch.nn.CrossEntropyLoss.md | 12 ++---
.../nn/torch.nn.HingeEmbeddingLoss.md | 48 +++++++++++++++++++
.../api_difference/nn/torch.nn.KLDivLoss.md | 4 +-
.../nn/torch.nn.MarginRankingLoss.md | 48 +++++++++++++++++++
.../api_difference/nn/torch.nn.NLLLoss.md | 48 +++++++++++++++++++
.../nn/torch.nn.SmoothL1Loss.md | 6 +--
.../nn/torch.nn.SoftMarginLoss.md | 45 +++++++++++++++++
10 files changed, 231 insertions(+), 16 deletions(-)
create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.HingeEmbeddingLoss.md
create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.MarginRankingLoss.md
create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.NLLLoss.md
create mode 100644 docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SoftMarginLoss.md
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCELoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCELoss.md
index c6bff2e1da8..912a147a09d 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCELoss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCELoss.md
@@ -21,8 +21,8 @@ paddle.nn.BCELoss(weight=None,
| PyTorch | PaddlePaddle | 备注 |
| ------------- | ------------ | ------------------------------------------------------ |
| weight | weight | 表示每个 batch 二值交叉熵的权重。 |
-| size_average | - | PyTorch 已弃用。 |
-| reduce | - | PyTorch 已弃用。 |
+| size_average | - | PyTorch 已弃用,paddle 需要转写。 |
+| reduce | - | PyTorch 已弃用,paddle 需要转写。 |
| reduction | reduction | 表示应用于输出结果的计算方式。 |
### 转写示例
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCEWithLogitsLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCEWithLogitsLoss.md
index 08a2bac96c3..44c6b57b591 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCEWithLogitsLoss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.BCEWithLogitsLoss.md
@@ -1,5 +1,5 @@
# [ torch 参数更多 ]torch.nn.BCEWithLogitsLoss
-### [torch.nn.BCEWithLogitsLoss](https)
+### [torch.nn.BCEWithLogitsLoss](https://pytorch.org/docs/1.13/generated/torch.nn.BCEWithLogitsLoss.html#bcewithlogitsloss)
```python
torch.nn.BCEWithLogitsLoss(weight=None,
@@ -23,8 +23,8 @@ paddle.nn.BCEWithLogitsLoss(weight=None,
| PyTorch | PaddlePaddle | 备注 |
| ------------- | ------------ | ------------------------------------------------------ |
| weight | weight | 表示每个 batch 二值交叉熵的权重。 |
-| size_average | - | PyTorch 已弃用。 |
-| reduce | - | PyTorch 已弃用。 |
+| size_average | - | PyTorch 已弃用,paddle 需要转写。 |
+| reduce | - | PyTorch 已弃用,paddle 需要转写。 |
| reduction | reduction | 表示应用于输出结果的计算方式。 |
| pos_weight | pos_weight | 表示正类的权重。 |
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
new file mode 100644
index 00000000000..41b44f37b09
--- /dev/null
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
@@ -0,0 +1,26 @@
+# [torch 参数更多]torch.nn.CTCLoss
+
+### [torch.nn.CTCLoss](https://pytorch.org/docs/1.13/generated/torch.nn.CTCLoss.html#torch.nn.CTCLoss)
+
+```python
+torch.nn.CTCLoss(blank=0,
+ reduction='mean',
+ zero_infinity=False)
+```
+
+### [paddle.nn.CTCLoss](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/CTCLoss_cn.html#ctcloss)
+
+```python
+paddle.nn.CTCLoss(blank=0,
+ reduction='mean')
+```
+
+Pytorch 相比 Paddle 支持在损失函数值为无穷大时将损失值及其梯度置为 0,paddle 暂无此功能,具体如下:
+
+### 参数映射
+
+| PyTorch | Paddle | 备注 |
+| ------------- | --------- | ------------------------------------------------------------ |
+| blank | blank | 空格标记的 ID 值。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
+| zero_infinity | - | 是否将无穷大损失及其梯度置 0,Paddle 无此参数,需要转写,paddle 暂无转写方式。 |
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CrossEntropyLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CrossEntropyLoss.md
index 90d2e662f42..80213853a79 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CrossEntropyLoss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CrossEntropyLoss.md
@@ -1,5 +1,5 @@
# [torch 参数更多]torch.nn.CrossEntropyLoss
-### [torch.nn.CrossEntropyLoss](https://pytorch.org/docs/stable/generated/torch.nn.CrossEntropyLoss.html?highlight=crossentropyloss#torch.nn.CrossEntropyLoss)
+### [torch.nn.CrossEntropyLoss](https://pytorch.org/docs/1.13/generated/torch.nn.CrossEntropyLoss.html#torch.nn.CrossEntropyLoss)
```python
torch.nn.CrossEntropyLoss(weight=None,
@@ -26,13 +26,13 @@ paddle.nn.CrossEntropyLoss(weight=None,
| PyTorch | PaddlePaddle | 备注 |
| ------------- | ------------ | ------------------------------------------------------ |
| weight | weight | 表示每个类别的权重。 |
-| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| size_average | - | PyTorch 已弃用,Paddle 无此参数,需要转写。|
| ignore_index | ignore_index | 表示忽略的一个标签值。 |
-| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
| reduction | reduction | 表示应用于输出结果的计算方式。 |
-| label_smoothing | - | 指定计算损失时的平滑量,Paddle 无此功能,暂无转写方式。 |
-| - | soft_label | 指明 label 是否为软标签,Pytorch 无此参数,Paddle 保持默认即可。 |
-| - | axis | 进行 softmax 计算的维度索引,Pytorch 无此参数,Paddle 保持默认即可。 |
+| label_smoothing | - | 指定计算损失时的平滑量,Paddle 无此功能,暂无转写方式。 |
+| - | soft_label | 指明 label 是否为软标签,Pytorch 无此参数,Paddle 保持默认即可。 |
+| - | axis | 进行 softmax 计算的维度索引,Pytorch 无此参数,Paddle 保持默认即可。 |
### 转写示例
#### size_average
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.HingeEmbeddingLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.HingeEmbeddingLoss.md
new file mode 100644
index 00000000000..27a44738862
--- /dev/null
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.HingeEmbeddingLoss.md
@@ -0,0 +1,48 @@
+# [torch 参数更多]torch.nn.HingeEmbeddingLoss
+
+### [torch.nn.HingeEmbeddingLoss](https://pytorch.org/docs/1.13/generated/torch.nn.HingeEmbeddingLoss.html#hingeembeddingloss)
+
+```python
+torch.nn.HingeEmbeddingLoss(margin=1.0,
+ size_average=None,
+ reduce=None,
+ reduction='mean')
+```
+
+### [paddle.nn.HingeEmbeddingLoss](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/HingeEmbeddingLoss_cn.html#hingeembeddingloss)
+
+```python
+paddle.nn.HingeEmbeddingLoss(margin=1.0,
+ reduction='mean',
+ name=None)
+```
+
+Pytorch 相比 Paddle 支持更多其他参数,具体如下:
+
+### 参数映射
+
+| PyTorch | Paddle | 备注 |
+| ------------ | --------- | ------------------------------------------------------------ |
+| margin | margin | 当 label 为-1 时,该值决定了小于 margin 的 input 才需要纳入 hinge embedding loss 的计算。 |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
+
+### 转写示例
+
+#### size_average
+
+```python
+# Pytorch 的 size_average、reduce 参数转为 Paddle 的 reduction 参数
+if size_average is None:
+ size_average = True
+if reduce is None:
+ reduce = True
+
+if size_average and reduce:
+ reduction = 'mean'
+elif reduce:
+ reduction = 'sum'
+else:
+ reduction = 'none'
+```
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.KLDivLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.KLDivLoss.md
index 1be74f84e64..7918de4ed45 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.KLDivLoss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.KLDivLoss.md
@@ -18,8 +18,8 @@ paddle.nn.KLDivLoss(reduction='mean')
### 参数差异
| PyTorch | PaddlePaddle | 备注 |
| ------------- | ------------ | ------------------------------------------------------ |
-| size_average | - | 已弃用。 |
-| reduce | - | 已弃用。 |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
| reduction | reduction | 表示对输出结果的计算方式。 |
| log_target | - | 指定目标是否为日志空间,Paddle 无此功能,暂无转写方式。 |
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.MarginRankingLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.MarginRankingLoss.md
new file mode 100644
index 00000000000..fd5fe4b2574
--- /dev/null
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.MarginRankingLoss.md
@@ -0,0 +1,48 @@
+# [torch 参数更多]torch.nn.MarginRankingLoss
+
+### [torch.nn.MarginRankingLoss](https://pytorch.org/docs/1.13/generated/torch.nn.MarginRankingLoss.html#marginrankingloss)
+
+```python
+torch.nn.MarginRankingLoss(margin=0.0,
+ size_average=None,
+ reduce=None,
+ reduction='mean')
+```
+
+### [paddle.nn.MarginRankingLoss](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/MarginRankingLoss_cn.html#marginrankingloss)
+
+```python
+paddle.nn.MarginRankingLoss(margin=0.0,
+ reduction='mean',
+ name=None)
+```
+
+Pytorch 相比 Paddle 支持更多其他参数,具体如下:
+
+### 参数映射
+
+| PyTorch | Paddle | 备注 |
+| ------------ | --------- | -------------------------------------------- |
+| margin | margin | 用于加和的 margin 值。 |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
+
+### 转写示例
+
+#### size_average
+
+```python
+# Pytorch 的 size_average、reduce 参数转为 Paddle 的 reduction 参数
+if size_average is None:
+ size_average = True
+if reduce is None:
+ reduce = True
+
+if size_average and reduce:
+ reduction = 'mean'
+elif reduce:
+ reduction = 'sum'
+else:
+ reduction = 'none'
+```
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.NLLLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.NLLLoss.md
new file mode 100644
index 00000000000..f7f9efb6c6e
--- /dev/null
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.NLLLoss.md
@@ -0,0 +1,48 @@
+# [torch 参数更多]torch.nn.NLLLoss
+
+### [torch.nn.NLLLoss](https://pytorch.org/docs/1.13/generated/torch.nn.NLLLoss.html?highlight=nllloss#torch.nn.NLLLoss)
+
+```python
+torch.nn.NLLLoss(weight=None,
+ size_average=None,
+ ignore_index=- 100,
+ reduce=None,
+ reduction='mean')
+```
+
+### [paddle.nn.NLLLoss](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/NLLLoss_cn.html#nllloss)
+
+```python
+paddle.nn.NLLLoss(weight=None,
+ ignore_index=- 100,
+ reduction='mean',
+ name=None)
+```
+
+Pytorch 相比 Paddle 支持更多其他参数,具体如下:
+
+### 参数映射
+| PyTorch | Paddle | 备注 |
+| ------------ | ------------ | -------------------------------------------- |
+| weight | weight | 表示每个类别的权重。 |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| ignore_index | ignore_index | 表示忽略的一个标签值。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
+
+### 转写示例
+#### size_average
+```python
+# Pytorch 的 size_average、reduce 参数转为 Paddle 的 reduction 参数
+if size_average is None:
+ size_average = True
+if reduce is None:
+ reduce = True
+
+if size_average and reduce:
+ reduction = 'mean'
+elif reduce:
+ reduction = 'sum'
+else:
+ reduction = 'none'
+```
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SmoothL1Loss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SmoothL1Loss.md
index dc49038a606..9bccd7db8bd 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SmoothL1Loss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SmoothL1Loss.md
@@ -20,9 +20,9 @@ paddle.nn.SmoothL1Loss(reduction='mean',
### 参数映射
| PyTorch | PaddlePaddle | 备注 |
| ------------- | ------------ | ------------------------------------------------------ |
-| size_average | - | 已弃用。 |
-| reduce | - | 已弃用。 |
-| reduction | reduction | 表示对输出 Tensor 的计算方式。 |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
| beta | delta | SmoothL1Loss 损失的阈值参数。 |
### 转写示例
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SoftMarginLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SoftMarginLoss.md
new file mode 100644
index 00000000000..eb68fa1d050
--- /dev/null
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.SoftMarginLoss.md
@@ -0,0 +1,45 @@
+# [torch 参数更多]torch.nn.SoftMarginLoss
+
+### [torch.nn.SoftMarginLosss](https://pytorch.org/docs/1.13/generated/torch.nn.SoftMarginLoss.html#torch.nn.SoftMarginLoss)
+
+```python
+torch.nn.SoftMarginLoss(size_average=None,
+ reduce=None,
+ reduction='mean')
+```
+
+### [paddle.nn.SoftMarginLoss](https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/SoftMarginLoss_cn.html#softmarginloss)
+
+```python
+paddle.nn.SoftMarginloss(reduction='mean',
+ name=None)
+```
+
+Pytorch 相比 Paddle 支持更多其他参数,具体如下:
+
+### 参数映射
+
+| PyTorch | Paddle | 备注 |
+| ------------ | --------- | -------------------------------------------- |
+| size_average | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduce | - | PyTorch 已弃用, Paddle 无此参数,需要转写。 |
+| reduction | reduction | 表示应用于输出结果的计算方式。 |
+
+### 转写示例
+
+#### size_average
+
+```python
+# Pytorch 的 size_average、reduce 参数转为 Paddle 的 reduction 参数
+if size_average is None:
+ size_average = True
+if reduce is None:
+ reduce = True
+
+if size_average and reduce:
+ reduction = 'mean'
+elif reduce:
+ reduction = 'sum'
+else:
+ reduction = 'none'
+```
From 0c7fd18c397e0751db286e686924ee49692621e3 Mon Sep 17 00:00:00 2001
From: ranchongzhi <1942247254@qq.com>
Date: Sat, 6 May 2023 12:12:52 +0800
Subject: [PATCH 2/2] modify torch.nn.CTCLoss.md
---
.../convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
index 41b44f37b09..8c302b0ef1a 100644
--- a/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
+++ b/docs/guides/model_convert/convert_from_pytorch/api_difference/nn/torch.nn.CTCLoss.md
@@ -15,7 +15,7 @@ paddle.nn.CTCLoss(blank=0,
reduction='mean')
```
-Pytorch 相比 Paddle 支持在损失函数值为无穷大时将损失值及其梯度置为 0,paddle 暂无此功能,具体如下:
+其中,Pytorch 相比 Paddle 支持更多其他参数,具体如下:
### 参数映射