Skip to content

Conversation

@Lithiumcr
Copy link

Core features:

  • Implement complete GAOT architecture (MAGNO Encoder + Patch ViT + MAGNO Decoder)
  • Add AGNO (Attentional Graph Neural Operator) with attention mechanism
  • Add GeometricEmbedding (statistical and pointnet methods)
  • Support multi-scale feature processing (scales=[1.0, 0.5, 0.25])
  • Add neighbor search (radius/knn with caching)
  • Add scatter operations (replace torch_scatter)

Framework integration:

  • Seamless integration with PaddleScience framework
  • Support both JSON and YAML configurations
  • Complete train/eval/export/inference pipeline
  • Standard ppsci.solver interface

Code quality:

  • Apache 2.0 license headers added to all files
  • 13 Python files, ~4,301 lines of code

Known issues (to be fixed in follow-up PRs):

  • Projection layer dimension issue in MAGNODecoder
  • End-to-end forward pass test pending
  • Case documentation (docs/zh/examples/gaot.md) to be added

Reference:

Co-authored-by: Original work by Shizheng Wen and team

Core features:
- Implement complete GAOT architecture (MAGNO Encoder + Patch ViT + MAGNO Decoder)
- Add AGNO (Attentional Graph Neural Operator) with attention mechanism
- Add GeometricEmbedding (statistical and pointnet methods)
- Support multi-scale feature processing (scales=[1.0, 0.5, 0.25])
- Add neighbor search (radius/knn with caching)
- Add scatter operations (replace torch_scatter)

Framework integration:
- Seamless integration with PaddleScience framework
- Support both JSON and YAML configurations
- Complete train/eval/export/inference pipeline
- Standard ppsci.solver interface

Code quality:
- Apache 2.0 license headers added to all files
- 100% compliant with Black, isort, and Ruff
- Comprehensive documentation (4 READMEs excluded from commit)
- 13 Python files, ~4,301 lines of code

Known issues (to be fixed in follow-up PRs):
- Projection layer dimension mismatch in MAGNODecoder
- End-to-end forward pass test pending
- Case documentation (docs/zh/examples/gaot.md) to be added

Reference:
- Original PyTorch implementation: https://github.com/Shizheng-Wen/GAOT
- Original license: MIT
- Paper: Geometry Aware Operator Transformer (NeurIPS 2025)

Co-authored-by: Original work by Shizheng Wen and team
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


lichangrong seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@paddle-bot
Copy link

paddle-bot bot commented Dec 23, 2025

Thanks for your contribution!

@HydrogenSulfate HydrogenSulfate marked this pull request as draft December 23, 2025 06:41
@plusNew001 plusNew001 marked this pull request as ready for review December 23, 2025 08:51
@PaddlePaddle PaddlePaddle locked and limited conversation to collaborators Dec 23, 2025
@PaddlePaddle PaddlePaddle unlocked this conversation Dec 23, 2025
Bug fixes:
- Fix MAGNODecoder projection layer dimension mismatch
  - Remove unnecessary transpose before projection call (magno.py line 577-584)
  - Projection now receives correct input shape [batch, nodes, channels]
  - Forward pass test passes with correct output shape [2, 1024, 1]

- Fix gaot.py syntax error
  - Remove misplaced 'from __future__ import annotations' (line 30)
  - Python 3.10 already supports type annotations natively

Testing results:
- ✅ Forward pass test: PASS
- ✅ Output shape verification: PASS [2, 1024, 1]
- ✅ Model creation: PASS (2.7M parameters)
- ✅ Syntax check: PASS

Documentation updates:
- Update examples/demo/README.md with v1.1.0 changelog
  - Add detailed bug fix descriptions
  - Add update log with timestamps
  - Add maintenance rules reference
- Update examples/demo/gaot_layers/README.md
  - Add recent updates section (v1.1.0)
  - Mark magno.py as fixed

Files modified:
- examples/demo/gaot_layers/magno.py (projection fix)
- examples/demo/gaot.py (syntax fix)
- examples/demo/README.md (documentation update)
- examples/demo/gaot_layers/README.md (documentation update)
- examples/demo/.gitignore (exclude test files)

Follows: README maintenance rules (规则0-2)
Version: v1.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants