-
Notifications
You must be signed in to change notification settings - Fork 767
Implement 3D pooling operations: avg_pool3d, max_pool3d, and adaptive_avg_pool3d #4231
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
base: main
Are you sure you want to change the base?
Conversation
|
As an aside, when going through the existing modules, I wondered if an API change would be beneficial regarding the dimensionality of some modules. For example, there is |
|
Ah, looks like there's been a few changes since my fork that have caused some changes to used functions, causing some compilation errors. Not sure when/if I'll have a chance to fix all of that in the upcoming Christmas time, unfortunately. |
I didn't check the code, only fixed the compilation error locally for you since it was an easy fix 🙂 Will try to have a look at this before Christmas break myself, but just wanted to say thanks for including the
Using coding tools isn't against the rules, and as a reviewer this already gives me helpful context. I think it's the first time I see a disclosure like this here, and I do appreciate it 🙏 |
No worries about speed whatsoever! I have just started my own (sorely needed) Christmas break today!
I did it last time as well (#3407), and I prefer letting everyone know ahead of time. I'm sorely aware of the contentious reputation that LLMs have in programming, so I might as well not hide it. I don't make it a habit to let LLMs write large chunks of my code, but my guess in this context was that, since a 3D version of an existing 1D/2D layer should just be a relatively minor iteration of the existing code, there shouldn't be too much opportunity for hallucinations/vibe-code-isms. That said, if it does turn out to be below the standards of the project, I apologize for wasting time and would fully agree with a rejection pending a more human involved rewrite. |
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (5.32%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #4231 +/- ##
==========================================
- Coverage 68.96% 68.33% -0.64%
==========================================
Files 1346 1360 +14
Lines 165578 167453 +1875
==========================================
+ Hits 114192 114424 +232
- Misses 51386 53029 +1643 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Pull Request Template
I'm opening this pull request early in response to #4213, though this is probably a little out of my depth so feel free to rip it apart.
Checklist
cargo run-checkscommand has been executed.Related Issues/PRs
Aims to implement #4213
Changes
Added 3D variants of the 3 available pooling operations,
AvgPool3d,AdaptiveAvgPool3dandMaxPool3d. Also add a first go at a CubeCL implementation.Testing
In general, the 2D unit tests were copied and adapted for 3D information.
LLM Disclosure
Claude Opus 4.5-preview was used to find appropriate locations for, and generate the main bulk of submitted code. I have compared and verified most of the code that was easily understood with the existing 2D myself. Though I am unfamiliar with some of the aspects of GPU programming/CubeCL.