"Use ZhuSuan's distributions, BayesianNet, MetaBayesianNet, and
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill modeling-primitives --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Modeling Primitives?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-modeling-primitives-arex-skill)More formats (shields.io, HTML) on the badges page.
---
name: modeling-primitives
description: "Use ZhuSuan's distributions, BayesianNet, MetaBayesianNet, and
stochastic tensor primitives to build and inspect probabilistic models."
metadata:
disco-role: operating
disable-model-invocation: true
license: MIT
---
# Modeling Primitives
Use this sub-skill when the task is about ZhuSuan's core probabilistic-modeling
surface rather than a specific inference algorithm.
## Read this when
- the user names `BayesianNet`, `MetaBayesianNet`, `StochasticTensor`,
`meta_bayesian_net`, `reuse_variables`, `cond_log_prob`, `log_joint`,
`query`, or `get`
- the task is about distributions, observed nodes, latent nodes, node naming,
`group_ndims`, `n_samples`, or shape semantics
- the user wants to understand how to build a model graph before training or
sampling
- the request is about compatibility or migration from the deprecated legacy
wrappers
## What this sub-skill owns
- `zhusuan.distributions` and the `BayesianNet.<distribution>` helpers
- `BayesianNet`, `StochasticTensor`, `MetaBayesianNet`, and
`meta_bayesian_net`
- observed-vs-latent node handling, deterministic nodes, and custom
`log_joint`
- tensor-like behavior of stochastic nodes and shape checking rules
- safe use of `get`, `query`, `cond_log_prob`, and `log_joint`
## What this sub-skill does not own
- ELBO/IWAE/VIMCO/RWS, importance sampling likelihoods, or flows
- HMC, SGMCMC, AIS, or sampling diagnostics
- dataset downloads, example training loops, or plotting utilities
## Start here
1. Read `references/modeling-concepts.md` for the modeling rules and shape
semantics.
2. Read `references/api-reference.md` when you need exact constructor or method
signatures.
3. Read `references/troubleshooting.md` for dtype, shape, and deprecation
issues.
4. Run `scripts/core_smoke.py` after environment setup to confirm the core
package can build a tiny model and evaluate an ELBO.
## Common tasks
### Build a probabilistic model
- Create a `BayesianNet`.
- Add stochastic nodes with distribution helpers such as `normal`,
`bernoulli`, `categorical`, `dirichlet`, or `multivariate_normal_cholesky`.
- Use deterministic TensorFlow ops for hidden calculations and optionally wrap
them with `bn.deterministic(...)` when you want the node name tracked.
### Reuse a model with different observations
- Wrap the model builder with `@zs.meta_bayesian_net(scope=..., reuse_variables=True)`
when repeated observation patterns should share TensorFlow variables.
- Call `model.observe(...)` to instantiate a concrete `BayesianNet` with a
specific observation map.
### Inspect a network
- Use `bn.get(...)` to fetch nodes by name.
- Use `bn.cond_log_prob(...)` to inspect per-node conditional log probabilities.
- Use `bn.log_joint()` for the overall joint log probability.
- Use `bn.query(..., outputs=True, local_log_prob=True)` only when maintaining
older code that still expects the deprecated tuple return.
## Good entry points
- `zhusuan/framework/bn.py`
- `zhusuan/framework/meta_bn.py`
- `zhusuan/distributions/base.py`
- `zhusuan/distributions/univariate.py`
- `zhusuan/distributions/multivariate.py`
- `scripts/core_smoke.py`
## Routing hints
- If the request is really about training a VAE/BNN or estimating posterior
bounds, route to `variational-inference`.
- If the request is about HMC, SGHMC, SGNHT, or posterior sampling, route to
`mcmc-and-sampling`.
- If the request is only about a generic TensorFlow model unrelated to
probabilistic nodes or Bayesian inference, a different repo skill is likely a
better fit.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!