|
| 1 | +# [Frequently Asked Questions (FAQ)](@id user-guide-faq) |
| 2 | + |
| 3 | +This section addresses common questions and issues that users encounter when working with RxInfer. The FAQ is a living document that grows based on community feedback and common usage patterns. |
| 4 | + |
| 5 | +## General Questions |
| 6 | + |
| 7 | +### What is RxInfer? |
| 8 | + |
| 9 | +RxInfer is a Julia package for automated Bayesian inference on factor graphs using reactive message passing. It provides an efficient, scalable framework for probabilistic programming with a focus on streaming data. |
| 10 | + |
| 11 | +### How does RxInfer compare to other probabilistic programming packages? |
| 12 | + |
| 13 | +See our detailed [comparison guide](@ref comparison) for a comprehensive analysis of RxInfer vs. other tools like Turing.jl, Stan, and PyMC. |
| 14 | + |
| 15 | +### Is RxInfer suitable for beginners? |
| 16 | + |
| 17 | +Yes! RxInfer provides a user-friendly syntax through GraphPPL and comprehensive documentation. Start with the [Getting Started](@ref user-guide-getting-started) guide and work through examples. |
| 18 | + |
| 19 | +## Installation and Setup |
| 20 | + |
| 21 | +See [Installation](@ref user-guide-getting-started-installation) for details. |
| 22 | + |
| 23 | +### I'm getting dependency conflicts. What should I do? |
| 24 | + |
| 25 | +Try `Pkg.resolve()` to resolve conflicts. See [Pkg.jl](https://pkgdocs.julialang.org/v1/getting-started/) for more details. |
| 26 | + |
| 27 | +### Can I use RxInfer from Python? |
| 28 | + |
| 29 | +Yes! See our guide on [Using RxInfer from Python](@ref python-usage). |
| 30 | + |
| 31 | +## Model Specification |
| 32 | + |
| 33 | +### What's the difference between `=` and `:=` in model specification? |
| 34 | + |
| 35 | +- `=` is a regular Julia assignment operator, use it only for regular Julia variables |
| 36 | +- `:=` creates a random variable node, use it to create latent variables in your model |
| 37 | + |
| 38 | +See [Sharp Bits: Using `=` instead of `:=`](@ref usage-colon-equality) for details. |
| 39 | + |
| 40 | +### How do I handle missing/incomplete data? |
| 41 | + |
| 42 | +RxInfer supports missing data through the `missing` value in Julia. The inference engine will automatically handle missing observations. See [Missing Data](@ref manual-static-inference-missing-data) for details. |
| 43 | + |
| 44 | +### How do I create custom nodes and message update rules? |
| 45 | + |
| 46 | +See [Custom Node and Rules](@ref create-node) for detailed guidance on extending RxInfer. |
| 47 | + |
| 48 | +## Inference Issues |
| 49 | + |
| 50 | +### I'm getting "Rule not found" errors. What does this mean? |
| 51 | + |
| 52 | +This error occurs when RxInfer can't find appropriate message update rules for your model. See [Rule Not Found Error](@ref rule-not-found) for solutions. |
| 53 | + |
| 54 | +### "Stack overflow in inference" |
| 55 | + |
| 56 | +See [Stack Overflow during inference](@ref stack-overflow-inference) for more details. |
| 57 | + |
| 58 | +### My inference is running very slowly. How can I improve performance? |
| 59 | + |
| 60 | +Check our [Performance Tips](@ref user-guide-performance-tips) section for optimization strategies. |
| 61 | + |
| 62 | +### How do I debug inference problems? |
| 63 | + |
| 64 | +Check out the [Debugging](@ref user-guide-debugging) guide. |
| 65 | + |
| 66 | +## Performance and Scaling |
| 67 | + |
| 68 | +### How large can my models be? |
| 69 | + |
| 70 | +RxInfer can handle models with millions of latent variables. Performance depends on: |
| 71 | +- Model complexity (e.g. simple models with conjugate pairs of distributions are the fastest) |
| 72 | +- Available memory (large models require more memory) |
| 73 | +- Computational resources (more cores, more memory, faster CPU, etc.) |
| 74 | +- Optimization techniques used (see [Performance Tips](@ref user-guide-performance-tips)) |
| 75 | + |
| 76 | +### Can I use RxInfer for real-time applications? |
| 77 | + |
| 78 | +Yes! RxInfer is designed for real-time inference with reactive message passing. See our [streaming inference](@ref manual-online-inference) documentation. |
| 79 | + |
| 80 | +## Community and Support |
| 81 | + |
| 82 | +### Where can I get help? |
| 83 | + |
| 84 | +1. **Documentation**: Start with the relevant sections in the [User Guide](@ref user-guide-getting-started) |
| 85 | +2. **GitHub Discussions**: [Ask](https://github.com/ReactiveBayes/RxInfer.jl/discussions) questions and share experiences |
| 86 | +3. **Issues**: [Report](https://github.com/ReactiveBayes/RxInfer.jl/issues) bugs and request features |
| 87 | +4. **Community Meetings**: Join regular public discussions, more info [here](https://dynalist.io/d/F4aA-Z2c8X-M1iWTn9hY_ndN) |
| 88 | + |
| 89 | +### How can I contribute? |
| 90 | + |
| 91 | +See our [Contributing Guide](@ref contributing-guidelines) for ways to help. Any help is welcome! |
| 92 | + |
| 93 | +## Contributing to the FAQ |
| 94 | + |
| 95 | +This FAQ grows through community contributions! If you have questions that aren't covered here: |
| 96 | + |
| 97 | +1. **Check existing discussions** on GitHub |
| 98 | +2. **Ask your question** in GitHub Discussions |
| 99 | +3. **Consider contributing** the answer back to this FAQ |
| 100 | +4. **Open an issue** if you find a documentation gap |
| 101 | + |
| 102 | +### How to add questions to the FAQ |
| 103 | + |
| 104 | +1. Open a discussion or issue with your question |
| 105 | +2. If it's a common question, consider adding it here |
| 106 | +3. Follow the [Contributing to Documentation](@ref guide-docs-contributing) guide |
| 107 | +4. Use clear, concise language and include code examples when helpful |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +**Note**: This FAQ is maintained by the community. For the most up-to-date information, check GitHub discussions and issues. If you find outdated information, please help us keep it current! |
0 commit comments