Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torch.Tensor.pinverse()
### [paddle.Tensor.pinv](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/Tensor/pinv_cn.html#paddle/Tensor/pinv_cn#cn-api-paddle-Tensor-pinv)

```python
paddle.Tensor.pinv(x, rcond=1e-15, hermitian=False, name=None)
paddle.Tensor.pinv(rcond=1e-15, hermitian=False, name=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class cus_tanh(torch.autograd.Function):
return grad

# Paddle 写法
class cus_tanh(paddle.autograd.PyLayer:
class cus_tanh(paddle.autograd.PyLayer):
@staticmethod
def forward(ctx, x):
y = paddle.nn.functional.tanh(x=x)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ paddle.device.get_cudnn_version()

```python
# PyTorch 写法
result = torch.backends.cudnn.version() == torch.backends.cudnn.version()
result = torch.backends.cudnn.version()

# Paddle 写法
result = paddle.device.get_cudnn_version() == paddle.device.get_cudnn_version()
result = paddle.device.get_cudnn_version()

```
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
torch.cuda.nvtx.range_pop()
```

### [paddle.framework.core.nvprof_nvtx_pop](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/framework/core/nvprof_nvtx_pop_cn.html#paddle/framework/core/nvprof_nvtx_pop_cn#cn-api-paddle-framework-core-nvprof_nvtx_pop)
### [paddle.core.nvprof_nvtx_pop](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/framework/core/nvprof_nvtx_pop_cn.html#paddle/core/nvprof_nvtx_pop_cn#cn-api-paddle-core-nvprof_nvtx_pop)

```python
paddle.framework.core.nvprof_nvtx_pop()
paddle.core.nvprof_nvtx_pop()
```

两者功能一致,但调用方式不一致,具体如下:
Expand All @@ -21,5 +21,5 @@ paddle.framework.core.nvprof_nvtx_pop()
result = torch.cuda.nvtx.range_pop()

# Paddle 写法
result = paddle.framework.core.nvprof_nvtx_pop()
result = paddle.core.nvprof_nvtx_pop()
```
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
### [torch.nn.ZeroPad2d](https://pytorch.org/docs/stable/generated/torch.nn.ZeroPad2d.html#torch.nn.ZeroPad2d)

```python
torch.nn.ZeroPad2d(padding=None)
torch.nn.ZeroPad2d(padding)
```

### [paddle.nn.ZeroPad2D](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/nn/ZeroPad2D_cn.html#paddle/nn/ZeroPad2D_cn#cn-api-paddle-nn-ZeroPad2D)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ paddle.io.IterableDataset()
class MyIterableDataset(torch.utils.data.IterableDataset):
def __init__(self, start, end):
super(MyIterableDataset).__init__()
assert end > start, "this example code only works with end >= start"
self.start = start
self.end = end

Expand All @@ -32,7 +31,6 @@ class MyIterableDataset(torch.utils.data.IterableDataset):
class MyIterableDataset(paddle.io.IterableDataset):
def __init__(self, start, end):
super(MyIterableDataset).__init__()
assert end > start, "this example code only works with end >= start"
self.start = start
self.end = end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torch.utils.data.random_split](https://pytorch.org/docs/stable/data.html#torch.utils.data.random_split)

```python
torch.utils.data.random_split(dataset, lengths, generator)
torch.utils.data.random_split(dataset, lengths, generator=<torch._C.Generator object>)
```

### [paddle.io.random_split](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/io/random_split_cn.html#paddle/io/random_split_cn#cn-api-paddle-io-random_split)

```python
paddle.io.random_split(dataset, lengths, generator)
paddle.io.random_split(dataset, lengths, generator=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand All @@ -18,9 +18,6 @@ paddle.io.random_split(dataset, lengths, generator)

```python
# PyTorch 写法
import torch


class Data(torch.utils.data.Dataset):
def __init__(self):
self.x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torchvision.transforms.CenterCrop(size)
### [paddle.vision.transforms.CenterCrop](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/CenterCrop_cn.html#paddle/vision/transforms/CenterCrop_cn#cn-api-paddle-vision-transforms-CenterCrop)

```python
paddle.vision.transforms.CenterCrop(size, keys)
paddle.vision.transforms.CenterCrop(size, keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torchvision.transforms.Grayscale(num_output_channels)
### [paddle.vision.transforms.Grayscale](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/Grayscale_cn.html#paddle/vision/transforms/Grayscale_cn#cn-api-paddle-vision-transforms-Grayscale)

```python
paddle.vision.transforms.Grayscale(num_output_channels, keys)
paddle.vision.transforms.Grayscale(num_output_channels, keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.Pad](https://pytorch.org/vision/stable/generated/torchvision.transforms.Pad.html#torchvision.transforms.Pad)

```python
torchvision.transforms.Pad(padding, fill, padding_mode)
torchvision.transforms.Pad(padding, fill=0, padding_mode='constant')
```

### [paddle.vision.transforms.Pad](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/Pad_cn.html#paddle/vision/transforms/Pad_cn#cn-api-paddle-vision-transforms-Pad)

```python
paddle.vision.transforms.Pad(padding, fill, padding_mode, keys)
paddle.vision.transforms.Pad(padding, fill=0, padding_mode='constant', keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.RandomAffine](https://pytorch.org/vision/stable/generated/torchvision.transforms.RandomAffine.html#torchvision.transforms.RandomAffine)

```python
torchvision.transforms.RandomAffine(degrees, translate, scale, shear, interpolation, fill, center)
torchvision.transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, interpolation=torchvision.transforms.InterpolationMode.InterpolationMode.NEAREST, fill=0, center=None)
```

### [paddle.vision.transforms.RandomAffine](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/RandomAffine_cn.html#paddle/vision/transforms/RandomAffine_cn#cn-api-paddle-vision-transforms-RandomAffine)

```python
paddle.vision.transforms.RandomAffine(degrees, translate, scale, shear, interpolation, fill, center, keys)
paddle.vision.transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, interpolation='nearest', fill=0, center=None, keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.RandomCrop](https://pytorch.org/vision/stable/generated/torchvision.transforms.RandomCrop.html#torchvision.transforms.RandomCrop)

```python
torchvision.transforms.RandomCrop(size, padding, pad_if_needed, fill, padding_mode)
torchvision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')
```

### [paddle.vision.transforms.RandomCrop](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/RandomCrop_cn.html#paddle/vision/transforms/RandomCrop_cn#cn-api-paddle-vision-transforms-RandomCrop)

```python
paddle.vision.transforms.RandomCrop(size, padding, pad_if_needed, fill, padding_mode, keys)
paddle.vision.transforms.RandomCrop(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant', keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.RandomRotation](https://pytorch.org/vision/stable/generated/torchvision.transforms.RandomRotation.html#torchvision.transforms.RandomRotation)

```python
torchvision.transforms.RandomRotation(degrees, interpolation, expand, center, fill)
torchvision.transforms.RandomRotation(degrees, interpolation=torchvision.transforms.InterpolationMode.NEAREST, expand=False, center=None, fill=0)
```

### [paddle.vision.transforms.RandomRotation](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/RandomRotation_cn.html#paddle/vision/transforms/RandomRotation_cn#cn-api-paddle-vision-transforms-RandomRotation)

```python
paddle.vision.transforms.RandomRotation(degrees, interpolation, expand, center, fill, keys)
paddle.vision.transforms.RandomRotation(degrees, interpolation='nearest', expand=False, center=None, fill=0, keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torchvision.transforms.ToTensor()
### [paddle.vision.transforms.ToTensor](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/ToTensor_cn.html#paddle/vision/transforms/ToTensor_cn#cn-api-paddle-vision-transforms-ToTensor)

```python
paddle.vision.transforms.ToTensor(data_format, keys)
paddle.vision.transforms.ToTensor(data_format='CHW', keys=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.functional.affine](https://pytorch.org/vision/stable/generated/torchvision.transforms.functional.affine.html#torchvision.transforms.functional.affine)

```python
torchvision.transforms.functional.affine(img, angle, translate, scale, shear, interpolation, fill, center)
torchvision.transforms.functional.affine(img, angle, translate, scale, shear, interpolation=torchvision.transforms.functional.NEREAST, fill=None, center=None)
```

### [paddle.vision.transforms.affine](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/affine_cn.html#paddle/vision/transforms/affine_cn#cn-api-paddle-vision-transforms-affine)

```python
paddle.vision.transforms.affine(img, angle, translate, scale, shear, interpolation, fill, center)
paddle.vision.transforms.affine(img, angle, translate, scale, shear, interpolation='nearst', fill=0, center=None)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.functional.pad](https://pytorch.org/vision/stable/generated/torchvision.transforms.functional.pad.html#torchvision.transforms.functional.pad)

```python
torchvision.transforms.functional.pad(img, padding, fill, padding_mode)
torchvision.transforms.functional.pad(img, padding, fill=0, padding_mode='constant')
```

### [paddle.vision.transforms.pad](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/pad_cn.html#paddle/vision/transforms/pad_cn#cn-api-paddle-vision-transforms-pad)

```python
paddle.vision.transforms.pad(img, padding, fill, padding_mode)
paddle.vision.transforms.pad(img, padding, fill=0, padding_mode='constant')
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.functional.perspective](https://pytorch.org/vision/stable/generated/torchvision.transforms.functional.perspective.html#torchvision.transforms.functional.perspective)

```python
torchvision.transforms.functional.perspective(img, startpoints, endpoints, interpolation, fill)
torchvision.transforms.functional.perspective(img, startpoints, endpoints, interpolation=torchvision.transforms.functional.InterpolationMode.BILINEAR, fill=None)
```

### [paddle.vision.transforms.perspective](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/perspective_cn.html#paddle/vision/transforms/perspective_cn#cn-api-paddle-vision-transforms-perspective)

```python
paddle.vision.transforms.perspective(img, startpoints, endpoints, interpolation, fill)
paddle.vision.transforms.perspective(img, startpoints, endpoints, interpolation='nearest', fill=0)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.functional.rotate](https://pytorch.org/vision/stable/generated/torchvision.transforms.functional.rotate.html#torchvision.transforms.functional.rotate)

```python
torchvision.transforms.functional.rotate(img, angle, interpolation, expand, center, fill)
torchvision.transforms.functional.rotate(img, angle, interpolation=torchvision.transforms.functional.InterpolationMode.NEAREST, expand=False, center=None, fill=None)
```

### [paddle.vision.transforms.rotate](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/rotate_cn.html#paddle/vision/transforms/rotate_cn#cn-api-paddle-vision-transforms-rotate)

```python
paddle.vision.transforms.rotate(img, angle, interpolation, expand, center, fill)
paddle.vision.transforms.rotate(img, angle, interpolation='nearest', expand=False, center=None, fill=0)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
### [torchvision.transforms.functional.to_grayscale](https://pytorch.org/vision/stable/generated/torchvision.transforms.functional.to_grayscale.html#torchvision.transforms.functional.to_grayscale)

```python
torchvision.transforms.functional.to_grayscale(img, num_output_channels)
torchvision.transforms.functional.to_grayscale(img, num_output_channels=1)
```

### [paddle.vision.transforms.to_grayscale](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/to_grayscale_cn.html#paddle/vision/transforms/to_grayscale_cn#cn-api-paddle-vision-transforms-to_grayscale)

```python
paddle.vision.transforms.to_grayscale(img, num_output_channels)
paddle.vision.transforms.to_grayscale(img, num_output_channels=1)
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ torchvision.transforms.functional.to_tensor(pic)
### [paddle.vision.transforms.to_tensor](https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/api/paddle/vision/transforms/to_tensor_cn.html#paddle/vision/transforms/to_tensor_cn#cn-api-paddle-vision-transforms-to_tensor)

```python
paddle.vision.transforms.to_tensor(pic, data_format)
paddle.vision.transforms.to_tensor(pic, data_format='CHW')
```

两者功能一致,但调用方式不一致,具体如下:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ paddle.Tensor.atan2(y, name=None)
- `paddle API` 中 `paddle api` 和 `paddle signature` 解析结果是否一致;
- `参数映射` 表格是否成功解析(表格每行 3 列)
- 状态机结束状态:
- `无参数` 或 `组合替代实现`:允许无参数映射表
- `组合替代实现` 或更靠后的映射类型:允许无 **paddle API** 部分
- `仅 API 调用方式不一致` 或 `组合替代实现`:允许无参数映射表
- `仅 API 调用方式不一致` 或 `组合替代实现`:允许无 **paddle API** 部分
- 其他类型:必须有所有结构

通过设计这一系列约束,可以检查映射文档中粗心疏漏导致的错误,从而降低检查成本;此外,通过将文档解析得到结构化的元数据(`docs_mapping.json`),能为后续流程提供数据支持。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,47 +15,17 @@
validate_whitelist = []

mapping_type_levels = [
# type 0
["UNDEFINED_MAPPING_TYPE_0"],
# type 1
[
"无参数",
"参数完全一致",
"仅 API 调用方式不一致",
"仅参数名不一致",
"paddle 参数更多",
"参数默认值不一致",
],
# type 2
[
"torch 参数更多",
],
# type 3
[
"返回参数类型不一致",
"输入参数类型不一致",
"输入参数用法不一致",
],
# type 4
[
"torch 参数更多",
"组合替代实现",
],
# type 5
[
"涉及上下文修改",
],
# type 6
[
"对应 API 不在主框架",
],
# type 7
[
"功能缺失",
],
# delete
[
"可删除",
],
]

mapping_type_set = {t for ts in mapping_type_levels for t in ts}
Expand Down Expand Up @@ -477,7 +447,7 @@ def get_meta_from_diff_file(
)

# 允许没有参数映射列表
if mapping_type in ["无参数", "组合替代实现", "仅 API 调用方式不一致"]:
if mapping_type in ["组合替代实现", "仅 API 调用方式不一致"]:
if state == ParserState.wait_for_args:
state = ParserState.end
# 必须有参数映射列表,但是可以随时停止
Expand All @@ -491,8 +461,8 @@ def get_meta_from_diff_file(
)

# 允许的终止状态,解析完了 dst_api 或者只有 src_api
# 映射类型前三个级别必须要有对应的 dst_api
if mapping_type_to_level[mapping_type] <= 3:
# 映射类型除了 "组合替代实现" 和 "仅 API 调用方式不一致" 之外,其他的都必须有 dst_api
if mapping_type not in ["组合替代实现", "仅 API 调用方式不一致"]:
if state != ParserState.end:
print(state)
raise Exception(
Expand Down
Loading