-
Notifications
You must be signed in to change notification settings - Fork 3
Possible new project names? #6
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
Comments
also @FredericWantiez |
Before choosing a name as specific as e.g. GPUFilters, perhaps we should agree on what's going to go in this package vs other packages? I'm aware of at least the following range of kinds of models that people are keen on:
For each of the above, we may either
Additionally, we have to choose what kind of backend we use: CPU (statically-sized arrays) vs CPU (dynamically-sized arrays) vs GPU-based arrays (presumably with a focus on CUDA, but now that support for a variety of GPUs is appearing throughout the ecosystem, being generic seems like a good idea). Perhaps we want to support all of them via abstraction. For all of the permutations above, we should think about:
Am I missing anything from the above? Once we've agreed on roughly what we want, we can choose a sensible name for his package. |
To quickly clarify: I think these models are more case studies of |
That's fine. So is the plan that everything else that is an implementation lives in this package, and we just have interface components in SSMProblems.jl? |
I quite like
I'm of the opinion that we support them via abstraction with a generalized filtering recipe (see #56), hence the name Lastly, if we create a general enough framework to support various algorithms for the GPU, then dynamically sized CPU arrays would be parsimonious. I think it's worth a shot. |
I would lean towards
Would this be, e.g. dispatching on whether the state is a vector of states or batch CuArray of states? |
I don't think these are important omissions but for completion, we are also implementing smoothing and PMCMC algorithms which I would assume would also sit in this package. I feel like they are close enough to "filtering" that it's not confusing though. |
* Initial commit * Readme * Project * Prototype design. (#2) * prototype * Update SSMProblems.jl * add logM (#3) * Convert example into docstring. * Move `logM`. --------- Co-authored-by: FredericWantiez <[email protected]> * export * example * Fred/ancestor (#5) * Gibbs * Add ancestor resampling * Better names * Clean up package (#6) * Gibbs * Setup github * Update Readme * Docs * GH actions * Format * Upgrade node * Use GH token * Fix links * Clean up * Write a proper example implementation (#7) * SMC * remove old file * Fix types * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Hong Ge <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Some minor changes (#8) * use recommended style for interface methods * minor changes to example * Update smc.jl * Update smc.jl --------- Co-authored-by: Hong Ge <[email protected]> * Particle filter example bug fix and refactoring (#10) * fix: corrected observation generation for particle filter example * refactor: tidied particle filter example code - Removed recursive particle show method which flooded REPL - Removed redundant resampling logic - Replaced variance with std in Normal() calls - Tidied final scatter plot * Updated formatting for named argument Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: corrected flipped noise standard deviations --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix format action (#13) * Fix docs action (#12) * Fix docs action * Add DOCUMENTER_KEY * Use julia-docdeploy action * Show link to docs preview (#15) * Update documentation (#16) * Add details to doc * Fix source * Typo * Update SSM Interface * Fix linearize bug * Interface * Format * Trying things * Fix transition!! * Format * Fix doc * Helper * Format * Forget about particles * Optional timestep * Add utils * Apply suggestions from code review Co-authored-by: David Widmann <[email protected]> * Utils module --------- Co-authored-by: David Widmann <[email protected]> * Update README.md (#17) * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update index.md * Update documentation to match new interface (#18) * Update documentation to match new interface * Update index.md --------- Co-authored-by: Hong Ge <[email protected]> * Build examples with doc (#19) * Build examples with doc * Reduce size of plot * Colors * Size option * Increase size per page * Update README.md * Update Project.toml * Modify SSMProblems to work with AbstractMCMC interface (#22) * Update documentation to match new interface * Incorporate SSMProblems into AbstractMCMC * Update Project.toml (#24) * Update Project.toml * Update make.jl --------- Co-authored-by: Hong Ge <[email protected]> * Add Kalman filter example (#26) * Add Kalman filter example * Fix formatting issues * Add literate for docs * add missing deps * Comments for literate * Format * Use `Gaussian` (#28) * Format, use `Gaussian` * Fix the maths * Format * Tweaks * Update script.jl * Update script.jl --------- Co-authored-by: Hong Ge <[email protected]> * Update Project.toml --------- Co-authored-by: FredericWantiez <[email protected]> Co-authored-by: Hong Ge <[email protected]> Co-authored-by: Hong Ge <[email protected]> * Update script.jl * Update script.jl * Create DocsNav.yml * Add example script for PMMH (#37) * Add example script for PMMH * Add Literate.jl * Update script.jl * Update script.jl * Update DocsNav.yml * Update SSMProblems.jl interface (#38) * Add split dynamics/observation interface with "extra" variables * Add utilities for forward simulation and distribution definitions * Removed redundant particle container code * Update naming convention for initialisation log-density Co-authored-by: Hong Ge <[email protected]> * Update initialisation naming Co-authored-by: Hong Ge <[email protected]> * Update naming convention Co-authored-by: Hong Ge <[email protected]> * Change sampler to AbstractMCMC Co-authored-by: Hong Ge <[email protected]> * Add section heading for SSM Co-authored-by: Hong Ge <[email protected]> * Remove redundant method check * Correct dependencies * Revert to positional arguments * Correct forward simulation element type * Update Kalman filter example to new interface * Fix formatting issue * Add missing import Co-authored-by: Charles Knipp <[email protected]> * Add default rngs to samplers through macro * Remove unnecessary section heading * Add missing dependency * Tidied Kalman filter example * Update documentation main page * Fully document Kalman filter example * Remove outdated examples * Add documentation for extra argument * Apply suggestions from code review * Update script.jl * Update examples/kalman-filter/script.jl Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update script.jl * Remove PMMH (until new API) * Remove ref to 'Utils' * Fix broken link * Remove default RNG macro * Simplify interface methods * Correct old function names * Add parametric type to Kalman filter * Update main doc page * Update README * Make parameter order consistent --------- Co-authored-by: Hong Ge <[email protected]> Co-authored-by: Charles Knipp <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: FredericWantiez <[email protected]> * Minor tweaks and typo fixes (#41) * Update index.md * Update index.md * Update Project.toml * Suppress output in example script --------- Co-authored-by: THargreaves <[email protected]> * Split method definitions to avoid docstring overwriting (#42) * Function docstring formatting (#45) * added TagBot & CompatHelper workflows (#47) * added TagBot & CompatHelper workflows * using existing Documenter Key for CompatHelper * CompatHelper: add new compat entry for Distributions at version 0.25, (keep existing compat) (#48) Co-authored-by: CompatHelper Julia <[email protected]> * Update DocsPreviewCleanup.yml * TagBot Permission Issue fixed (#50) * Add DOCUMENTER_KEY to Docs workflow (#52) * Update DocsPreviewCleanup.yml * Correct type signature for forward simulation method * Alignment of obs/dyn time steps and refactored forward simulation (#55) * Update interface documentation to align dyn/obs time steps * Refactor forward simulation, add type parameters, add unit test * Add type parameters to docstrings * Update kalman example * Add extra for initialisation and simplify obs type parameter * Bump minor version * Update unit tests to match aligned interface * Fix code comment rendering * Interface Changes for Use in Filtering (#56) * added basic particle methods and filters * added qualifiers * added parameter priors * added adaptive resampling to bootstrap filter (WIP) * Julia fomatter changes Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * changed eltype for <: StateSpaceModel * updated naming conventions * formatter * fixed adaptive resampling * added particle ancestry * formatter issues * fixed metropolis and added rejection resampler * Keep track of free indices using stack * updated particle types and organized directory * weakened SSM type parameter assertions * improved particle state containment and resampling * added hacky sparse ancestry to example * fixed RNG in rejection resampling * improved callbacks and resamplers * formatting * added conditional SMC * improved linear model type structure * formatter * replaced extra with kwargs * formatter * migrated filtering code * Add unittests for new interface * Update documentation to match kwargs * Rename extras/kwargs docs file * remove redundant forward simulations --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tim Hargreaves <[email protected]> * Bump 0.4.0 (#58) * Update docs to match kwargs interface * Add method definitions for batch simulation/log-densities * Bump minor version * Correct docstring overwriting for batch methods * Update type parameters to contain both arithmetic and element type * Correct docstring indentations * Correct RBPF forward simulation * Documentation and Turing Navigation CI improvement (#61) * Update Docs.yml * Update DocsNav.yml * No need of deploydocs() after using new Docs & DocsNav workflows * Remove research files from repository * removed SSMProblems README, LICENSE, GHA workflow, JULIAFORMATTER in favor of merger * SSMProblems: added missing docstring to avoid documentation failure * added pkg_path in Docs workflow to fix package development --------- Co-authored-by: Hong Ge <[email protected]> Co-authored-by: FredericWantiez <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tor Erlend Fjelde <[email protected]> Co-authored-by: Tim Hargreaves <[email protected]> Co-authored-by: David Widmann <[email protected]> Co-authored-by: Hong Ge <[email protected]> Co-authored-by: Charles Knipp <[email protected]> Co-authored-by: THargreaves <[email protected]> Co-authored-by: Will Tebbutt <[email protected]> Co-authored-by: CompatHelper Julia <[email protected]> Co-authored-by: Penelope Yong <[email protected]>
It would be good to consider a slightly more general name for this project so we could incorporate particle filters currently in
SSMproblems
. Some sensible candidates:GeneralisedFilters
: inspired by @charlesknipp and @THargreaves's terminology on a generalised interface for filtering algorithmsGPUFilters
, if we decide to focus on a solid GPU implementation of particle and Kalman filters to compensate for theKalmanFilters.jl
andAdvancedPS
packages, thenGPUFilters
is also a good nameThoughts?
cc @willtebbutt @Lilyql
The text was updated successfully, but these errors were encountered: