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

Add user guide on how to extend Beluga #450

Merged
merged 3 commits into from
Oct 25, 2024
Merged

Conversation

hidmic
Copy link
Collaborator

@hidmic hidmic commented Oct 24, 2024

Proposed changes

Closes #306 . This patch adds a guide on how to extend Beluga. I covered the fraction of the library that is the most stable regarding patterns and architecture and also the most likely one for a user to extend -- new kinds of particles filters or support abstractions I skipped.

Type of change

  • 🐛 Bugfix (change which fixes an issue)
  • 🚀 Feature (change which adds functionality)
  • 📚 Documentation (change which fixes or extends documentation)

Checklist

Put an x in the boxes that apply. This is simply a reminder of what we will require before merging your code.

  • Lint and unit tests (if any) pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • All commits have been signed for DCO

@hidmic hidmic self-assigned this Oct 24, 2024
@hidmic
Copy link
Collaborator Author

hidmic commented Oct 24, 2024

As per #306, it looks like I'm missing a custom sampling view. I'll add that next.

Copy link
Member

@nahueespinosa nahueespinosa left a comment

Choose a reason for hiding this comment

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

@hidmic Looks great!

docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
docs/guides/extending-beluga.md Outdated Show resolved Hide resolved
@hidmic
Copy link
Collaborator Author

hidmic commented Oct 24, 2024

As per #306, it looks like I'm missing a custom sampling view. I'll add that next.

I think I'm going to hold this off until we have more resampling algorithms. We only define a naive multinomial sampler. There's #48, there's stratified resampling, there's residual resampling, and more. I presume we'll be using views all the way, but some algorithms have to perform multiple passes and carry additional state so the standard resampling algorithm structure may end being a tiny bit more complicated than beluga::views::sample.

Signed-off-by: Michel Hidalgo <[email protected]>
Copy link
Member

@nahueespinosa nahueespinosa left a comment

Choose a reason for hiding this comment

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

LGTM!

@hidmic hidmic merged commit 08e682f into main Oct 25, 2024
11 checks passed
@hidmic hidmic deleted the hidmic/extending-beluga-guide branch October 25, 2024 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Write tutorial on extending Beluga
2 participants