Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: implement inverse fast Fourier transform (irfftn) function for paddle frontend #22967

Closed
wants to merge 0 commits into from

Conversation

xingshuodong
Copy link
Contributor

@xingshuodong xingshuodong commented Sep 3, 2023

PR Description

Feat: implement inverse fast Fourier transform (irfftn) function for paddle frontend

Add paddle.fft Fast Fourier Transform Functions to Paddle Frontend #15047
This pull request is related to resolves [irfftn #22913].

Checklist

  • Did you add a function?
  • Did you add the tests?
  • Did you follow the steps we provided?

Socials:

[email protected]
ins: xingshuodong

@github-actions
Copy link
Contributor

github-actions bot commented Sep 3, 2023

Thanks for contributing to Ivy! 😊👏
Here are some of the important points from our Contributing Guidelines 📝:
1. Feel free to ignore the run_tests (1), run_tests (2), … jobs, and only look at the display_test_results job. 👀 It contains the following two sections:
- Combined Test Results: This shows the results of all the ivy tests that ran on the PR. ✔️
- New Failures Introduced: This lists the tests that are passing on main, but fail on the PR Fork. Please try to make sure that there are no such tests. 💪
2. The lint / Check formatting / check-formatting tests check for the formatting of your code. 📜 If it fails, please check the exact error message in the logs and fix the same. ⚠️🔧
3. Finally, the test-docstrings / run-docstring-tests check for the changes made in docstrings of the functions. This may be skipped, as well. 📚
Happy coding! 🎉👨‍💻

@ivy-leaves ivy-leaves added the Paddle Frontend Developing the Paddle Frontend, checklist triggered by commenting add_frontend_checklist label Sep 3, 2023
@xingshuodong
Copy link
Contributor Author

need fix function

@xingshuodong xingshuodong reopened this Sep 3, 2023
@xingshuodong
Copy link
Contributor Author

Some questions, if there is no irfft or similar function in backends now, am i suppose to use different way to write frontend function achieve the irfftn, i am very new and please guide me to do so.

@ivy-leaves
Copy link

If you are working on an open task, please edit the PR description to link to the issue you've created.

For more information, please check ToDo List Issues Guide.

Thank you 🤗

@xingshuodong
Copy link
Contributor Author

xingshuodong commented Sep 5, 2023

@tomatillos Hi Tom, can you help to check why here hfft frontend function and irfft frontend function can not pass the test locally regardless the irfftn function.

irfft, hfft has some issue to run locally
irfft has issue to pass pr test

should i fix them or leave them?

Currently irfftn can pass n=1 test, for n dimension, just it similarly follow the n=1.

@xingshuodong
Copy link
Contributor Author

@ivy-seed can assign me a new reviewer? Tom is not avaliable to contact

@tomatillos
Copy link
Contributor

Hi, your task is only to add the irfftn function, so don't worry about the other failing ones. It would be best if it supported more than n dimensions though

@xingshuodong
Copy link
Contributor Author

Hi, your task is only to add the irfftn function, so don't worry about the other failing ones. It would be best if it supported more than n dimensions though

Hi Tom, appreciate let me know that, so currently it's fine right? @tomatillos

@tomatillos
Copy link
Contributor

Nearly, can you make sure the test passes with the multidimensional version as well? At the moment you're only testing for n=1

@xingshuodong
Copy link
Contributor Author

Sure Tom

@xingshuodong
Copy link
Contributor Author

@tomatillos Hi Tom,
I may need help to properly develop N-dim function for irfftn, it is better to have backend core function of irfftn to directly manuplate the along the N-dim.

If you are happy you can take my updated irfftn which is working for 1 D for numpy tensorflow and paddlem as part of solution which will enable me to apply intern.

If you require a complete develop, and yes it is possible to achieve the true irfftn, but I may need more time to solve it which a bit out of plan.

@xingshuodong xingshuodong reopened this Sep 11, 2023
@tomatillos
Copy link
Contributor

Hi, we'd need full functionality of irfftn to get this merged (i.e. for multidimensional case too). You are welcome to choose another task to work on :)

@xingshuodong
Copy link
Contributor Author

Hi, we'd need full functionality of irfftn to get this merged (i.e. for multidimensional case too). You are welcome to choose another task to work on :)

Hi Tom i will achieve full functionality in this week, probably need go through to see what happen in function, if it is super complex and need a range of functions support, then yea I need pick another task

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

PR Compliance Checks

Thank you for your Pull Request! We have run several checks on this pull request in order to make sure it's suitable for merging into this project. The results are listed in the following section.

Protected Branch

In order to be considered for merging, the pull request changes must not be implemented on the "main" branch. This is described in our Contributing Guide. We are closing this pull request and we would suggest that you implement your changes as described in our Contributing Guide and open a new pull request.

@xingshuodong
Copy link
Contributor Author

xingshuodong commented Sep 13, 2023

@tomatillos Hi, Tom, please review the code, the current one is working for n-dim situation by setting min dim and max dim,
also it works on specific any dim to pass the test, it is very or most close to a true irfftn.

To achieve a flexibility use of irfftn
-[yes ] specific n-th dim in one operate
-[depend on ] a range of dim like from 2 to 5 is this necessary needed? in one operate

the potential issue is, the backend of ifft maybe has some issue, while ifftn is working well as its logic go to last axis,
then we have to modify each axis as last axis to get rid of impacting other axis in the case, if you can't understand what i am saying it may be my issue report is not clear, but for now, the irfftn is working as expected.

@xingshuodong xingshuodong changed the title frontend paddle irfftn frontend paddle irfftn Resolved #22913 Sep 13, 2023
@xingshuodong xingshuodong changed the title frontend paddle irfftn Resolved #22913 frontend paddle irfftn Resolves #22913 Sep 13, 2023
@xingshuodong xingshuodong changed the title frontend paddle irfftn Resolves #22913 feat: implement inverse fast Fourier transform (irfftn) function for paddle frontend Sep 13, 2023
@xingshuodong xingshuodong reopened this Sep 13, 2023
Copy link

@Kilvny Kilvny left a comment

Choose a reason for hiding this comment

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

how did you choose another task

@xingshuodong
Copy link
Contributor Author

how did you choose another task

how did you choose another task

what do you mean by choosing another task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Paddle Frontend Developing the Paddle Frontend, checklist triggered by commenting add_frontend_checklist
Projects
None yet
Development

Successfully merging this pull request may close these issues.

irfftn
4 participants