Skip to content

Conversation

zewenli98
Copy link
Collaborator

Description

Support for many padding dynamo converters, including:

torch.ops.aten.pad.default
torch.ops.aten.constant_pad_nd.default
torch.ops.aten.reflection_pad1d.default
torch.ops.aten.reflection_pad2d.default
torch.ops.aten.reflection_pad3d.default
torch.ops.aten.replication_pad1d.default
torch.ops.aten.replication_pad2d.default
torch.ops.aten.replication_pad3d.default
torch.ops.aten._pad_circular.default

Note:

  1. Not sure why there're no similar names for torch.ops.aten._pad_circular.default like torch.ops.aten.circular_pad1d.default, but according to PyTorch doc, it does have the similar functionality as reflection and replication, targeting for 2D, 3D, 4D, and 5D inputs.
  2. torch.ops.aten.pad.default is a higher-level function to call the other padding functions.

Fixes #2461 #2211

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code follows the style guidelines of this project (You can use the linters)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas and hacks
  • I have made corresponding changes to the documentation
  • I have added tests to verify my fix or my feature
  • New and existing unit tests pass locally with my changes
  • I have added the relevant labels to my PR in so that relevant reviewers are notified

@github-actions github-actions bot added component: api [Python] Issues re: Python API component: conversion Issues re: Conversion stage component: converters Issues re: Specific op converters component: dynamo Issues relating to the `torch.compile` or `torch._dynamo.export` paths component: tests Issues re: Tests labels Nov 23, 2023
@github-actions github-actions bot requested a review from peri044 November 23, 2023 01:07
@zewenli98 zewenli98 requested review from apbose and gs-olive and removed request for peri044 November 23, 2023 01:09
@zewenli98
Copy link
Collaborator Author

Hi @gs-olive, thanks for your review! I just found out a better way to implement paddings, with the help of ISliceLayer with different SliceMode. So I undid the change to slice_op.

@zewenli98 zewenli98 requested a review from gs-olive November 27, 2023 22:49
@zewenli98 zewenli98 requested a review from gs-olive November 28, 2023 02:18
@zewenli98 zewenli98 force-pushed the padding_dynamo_converters branch from c2b0a0d to 6530e57 Compare November 28, 2023 21:54
@zewenli98 zewenli98 force-pushed the padding_dynamo_converters branch from 6530e57 to 2e8c094 Compare November 28, 2023 23:17
Copy link
Contributor

@gs-olive gs-olive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks great, added a few style comments and suggested modifications.

Copy link
Contributor

@gs-olive gs-olive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@zewenli98 zewenli98 merged commit 9b88e92 into pytorch:main Nov 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla signed component: api [Python] Issues re: Python API component: conversion Issues re: Conversion stage component: converters Issues re: Specific op converters component: dynamo Issues relating to the `torch.compile` or `torch._dynamo.export` paths component: tests Issues re: Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for padding aten operators

3 participants