GraphPPL.jl Documentation
Welcome to the documentation of GraphPPL.jl, a Probabilistic Programming Language for Julia for specifying probabilistic models in a form of a factor graph. GraphPPL is a high-level backend-agnostic PPL that supports nested graphical models, allowing hierarchical modeling and model specification. GraphPPL materializes your probabilistic models as a factor graph. Additionally, it support a plugin system, that allows specification of inference specific information for different methods, e.g. variational inference. GraphPPL is designed to be a flexible and extensible PPL, and supports user-defined nodes and transformations.
It is important to note that GraphPPL.jl is not an inference package and does not run inference in the specified models. For inference, you may need a GraphPPL.jl compatible package, for example RxInfer.jl.
Table of Contents
- Getting Started
- Nested model specification
- Developers guide
- Customizing the behaviour of the
@modelwith a custom backend
Index
GraphPPL.VariableKindConstantGraphPPL.VariableKindDataGraphPPL.VariableKindRandomGraphPPL.VariableKindUnknownGraphPPL.is_inside_indexingGraphPPL.AnonymousVariableGraphPPL.AtomicGraphPPL.CombinedRangeGraphPPL.CompositeGraphPPL.ConstraintsGraphPPL.ContextGraphPPL.DefaultBackendGraphPPL.DeterministicGraphPPL.EdgeLabelGraphPPL.FactorAndVariableNodesPluginGraphPPL.FactorIDGraphPPL.FactorNodePluginGraphPPL.FactorNodePropertiesGraphPPL.FactorizationConstraintGraphPPL.FactorizationConstraintEntryGraphPPL.FunctionalIndexGraphPPL.FunctionalRangeGraphPPL.GeneralSubModelConstraintsGraphPPL.IndexedVariableGraphPPL.MarginalFormConstraintGraphPPL.MeanFieldGraphPPL.MessageFormConstraintGraphPPL.MetaPluginGraphPPL.MissingCollectionGraphPPL.ModelGraphPPL.ModelGeneratorGraphPPL.NodeBehaviourGraphPPL.NodeCreatedByPluginGraphPPL.NodeCreationOptionsGraphPPL.NodeDataGraphPPL.NodeDataExtraKeyGraphPPL.NodeIdPluginGraphPPL.NodeLabelGraphPPL.NodeTagPluginGraphPPL.NodeTypeGraphPPL.PluginsCollectionGraphPPL.ProxyLabelGraphPPL.ResizableArrayGraphPPL.SpecificSubModelConstraintsGraphPPL.SplatGraphPPL.SplittedRangeGraphPPL.StaticInterfacesGraphPPL.StochasticGraphPPL.UnknownPluginTypeGraphPPL.VarDictGraphPPL.VariableNodePluginGraphPPL.VariableNodePropertiesGraphPPL.VariableRefGraphPPL.VariationalConstraintsPluginGraphPPL.conditional_walkGraphPPL.BetheFactorizationGraphPPL.add_atomic_factor_node!GraphPPL.add_composite_factor_node!GraphPPL.add_get_or_create_expressionGraphPPL.add_meta_constructionGraphPPL.add_pluginGraphPPL.add_toplevel_model!GraphPPL.add_variable_node!GraphPPL.aliasesGraphPPL.apply_pipelineGraphPPL.apply_pipeline_collectionGraphPPL.by_nodetagGraphPPL.check_reserved_variable_names_modelGraphPPL.combine_argsGraphPPL.convert_anonymous_variablesGraphPPL.convert_deterministic_statementGraphPPL.convert_local_statementGraphPPL.convert_meta_objectGraphPPL.convert_meta_variablesGraphPPL.convert_tilde_expressionGraphPPL.convert_to_anonymousGraphPPL.convert_to_kwargs_expressionGraphPPL.copy_markov_blanket_to_child_contextGraphPPL.create_modelGraphPPL.datalabelGraphPPL.default_backendGraphPPL.default_parametrizationGraphPPL.factor_aliasGraphPPL.factor_nodesGraphPPL.factorization_splitGraphPPL.generate_get_or_createGraphPPL.generate_nodelabelGraphPPL.get_boilerplate_functionsGraphPPL.get_created_byGraphPPL.getcontextGraphPPL.getextraGraphPPL.getorcreate!GraphPPL.hasextraGraphPPL.indexed_lastGraphPPL.instantiateGraphPPL.interface_aliasesGraphPPL.interfacesGraphPPL.is_factorGraphPPL.is_kwargs_expressionGraphPPL.is_variableGraphPPL.keyword_expressions_to_named_tupleGraphPPL.lift_indexGraphPPL.make_node!GraphPPL.makevarrefGraphPPL.materialize_constraints!GraphPPL.missing_interfacesGraphPPL.model_macro_interiorGraphPPL.model_macro_interior_pipelinesGraphPPL.options_vector_to_named_tupleGraphPPL.plugin_typeGraphPPL.postprocess_pluginGraphPPL.preprocess_pluginGraphPPL.proxy_argsGraphPPL.prune!GraphPPL.save_expression_in_tildeGraphPPL.setextra!GraphPPL.variable_nodesGraphPPL.with_backendGraphPPL.with_pluginsGraphPPL.with_sourceGraphPPL.@model