|
ADS-IDAC Engine 5.0.0
|
Message passing state for one junction tree and one batch size. More...
#include <workspace.hpp>
Public Member Functions | |
| BatchWorkspace (const JunctionTree &jt, std::size_t batch_size=1) | |
| Builds the workspace and calibrates it without evidence. More... | |
| void | reset (std::size_t new_batch_size, std::size_t cpt_batch_offset=0) |
| Prepares the workspace for a new evidence case. More... | |
| void | set_evidence_matrix (const int *evidence_matrix, std::size_t num_vars) |
| Sets the hard evidence for the next calibration. More... | |
| void | clear_evidence () |
| Forgets the hard evidence matrix. Soft evidence is not affected. More... | |
| void | set_soft_evidence (NodeId var, const double *likelihoods, std::size_t n_states) |
| Sets one likelihood vector for a variable, shared by all batch rows. More... | |
| void | set_soft_evidence_matrix (NodeId var, const double *likelihoods_matrix, std::size_t n_states) |
| Sets a separate likelihood vector per batch row for a variable. More... | |
| void | clear_soft_evidence () |
| Removes all soft evidence, scalar and matrix. More... | |
| void | calibrate () |
| Runs sum-product message passing with the current evidence. More... | |
| void | max_calibrate () |
| Runs max-product propagation with the current evidence, for query_map(). More... | |
| void | query_map (int *out_states, std::size_t n_vars) const |
| Decodes a state for each variable from the max-product beliefs. More... | |
| DenseTensor | query_marginal (NodeId node) const |
| Marginal of one variable from the last calibrate(). More... | |
| void | query_marginals_multi (const NodeId *query_vars, std::size_t num_queries, const std::size_t *offsets, double *out) const |
| Marginals of several variables from the last calibrate(), with one scan of each clique involved. More... | |
Private Member Functions | |
| void | rebuild_clique_potentials (std::size_t target_batch_size) |
| void | resize_runtime_buffers (std::size_t target_batch_size) |
| Sizes message, belief and scratch buffers for a batch size. More... | |
| void | snapshot_base_potentials () |
| Copies clique_potentials_ into owning base_clique_potentials_. More... | |
| void | build_node_to_clique_map () |
| void | build_message_schedule () |
| Fills collect_ops_, distribute_ops_, assemble_ops_ and clique_marg_info_. More... | |
| bool | apply_soft_evidence_to_clique (std::size_t ci) |
Private Attributes | |
| const JunctionTree & | jt_ |
| std::size_t | batch_size_ |
| std::size_t | cpt_batch_offset_ = 0 |
| std::vector< Factor > | clique_potentials_ |
| std::vector< Factor > | base_clique_potentials_ |
| std::size_t | base_batch_size_ = 0 |
| std::size_t | base_batch_offset_ = 0 |
| bool | base_depends_on_offset_ = false |
| const int * | evidence_matrix_ = nullptr |
| std::size_t | evidence_num_vars_ = 0 |
| std::unordered_map< NodeId, std::vector< double > > | soft_evidence_scalar_ |
| std::unordered_map< NodeId, std::vector< double > > | soft_evidence_matrix_ |
| std::size_t | root_clique_ |
| std::vector< std::size_t > | collect_order_ |
| std::vector< std::size_t > | distribute_order_ |
| std::vector< std::size_t > | parent_of_ |
| std::vector< std::vector< std::size_t > > | children_of_ |
| std::vector< std::vector< double > > | up_msg_buf_ |
| std::vector< std::vector< double > > | down_msg_buf_ |
| std::vector< std::size_t > | up_msg_size_ |
| std::vector< std::size_t > | down_msg_size_ |
| std::vector< std::size_t > | sepset_size_ |
| std::vector< std::size_t > | clique_states_ |
| std::vector< CollectOp > | collect_ops_ |
| std::vector< DistributeOp > | distribute_ops_ |
| std::vector< AssembleOp > | assemble_ops_ |
| std::vector< double > | scratch_buf_ |
| std::size_t | max_product_states_ = 0 |
| std::vector< uint8_t > | ev_clique_ |
| std::vector< uint8_t > | up_changed_ |
| std::vector< uint8_t > | down_changed_ |
| std::vector< uint8_t > | cal_changed_ |
| std::vector< std::vector< double > > | cal_pot_buf_ |
| std::vector< std::size_t > | cal_pot_size_ |
| std::vector< std::vector< double > > | map_up_msg_buf_ |
| std::vector< std::vector< uint32_t > > | map_traceback_ |
| std::vector< std::vector< double > > | map_cal_pot_buf_ |
| std::vector< std::vector< double > > | base_up_buf_ |
| std::vector< std::vector< double > > | base_down_buf_ |
| std::vector< std::vector< double > > | base_cal_buf_ |
| bool | is_first_calibration_ = true |
| std::vector< CliqueMargInfo > | clique_marg_info_ |
| std::vector< std::vector< double > > | ev_scratch_ |
| std::vector< bool > | ev_scratch_active_ |
| std::unordered_map< NodeId, std::size_t > | node_to_clique_ |
| std::unordered_map< NodeId, std::vector< std::size_t > > | node_in_cliques_ |
| std::vector< uint8_t > | query_visited_scratch_ |
Message passing state for one junction tree and one batch size.
A workspace evaluates batch_size independent evidence rows at once. Every clique potential, message and belief carries a trailing batch dimension, stored as index * batch_size + row.
Construction orients the junction tree (each connected part is rooted at its lowest clique index), builds the index tables for every message, builds the clique potentials from the graph's CPTs, and runs one calibration without evidence. The messages and beliefs of that calibration are kept. Later calibrations recompute only the messages that evidence can change and copy the rest from the kept values.
Order of use for one evidence case: reset(), then the evidence setters, then calibrate() or max_calibrate(), then the query functions. calibrate() applies evidence to the current clique potentials and does not undo evidence applied by an earlier calibrate(), so reset() is required between evidence cases.
The workspace keeps a reference to the junction tree and reads the graph through it. Both must outlive the workspace. A workspace is not synchronized: use one per thread.
Definition at line 110 of file workspace.hpp.
|
explicit |
Builds the workspace and calibrates it without evidence.
For a variable whose CPT is batched (see Graph::set_cpt()), the CPT batch size must be 1, or equal batch_size, or be larger than batch_size. In the last case reset() selects which rows are used.
| jt | Compiled junction tree. Held by reference. |
| batch_size | Number of evidence rows evaluated together. Must be greater than 0. |
| std::invalid_argument | if batch_size is 0, a variable's CPT is empty, a CPT size is not a multiple of its family size, or a batched CPT does not fit batch_size. |
Definition at line 89 of file workspace.cpp.
References batch_size_, build_message_schedule(), build_node_to_clique_map(), children_of_, bncore::JunctionTree::cliques(), collect_order_, distribute_order_, jt_, parent_of_, rebuild_clique_potentials(), and root_clique_.
|
private |
Definition at line 573 of file workspace.cpp.
References batch_size_, clique_marg_info_, clique_potentials_, clique_states_, bncore::DenseTensor::data(), ev_clique_, ev_scratch_, ev_scratch_active_, evidence_matrix_, evidence_num_vars_, bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, bncore::VariableMetadata::name, bncore::Factor::scope(), bncore::DenseTensor::shape(), soft_evidence_matrix_, soft_evidence_scalar_, bncore::CliqueMargInfo::state_of_dim, and bncore::Factor::tensor().
Referenced by calibrate(), and max_calibrate().
|
private |
Fills collect_ops_, distribute_ops_, assemble_ops_ and clique_marg_info_.
Definition at line 141 of file workspace.cpp.
References assemble_ops_, base_cal_buf_, base_down_buf_, base_up_buf_, batch_size_, bncore::build_marg_map_u32(), bncore::build_pot_map_u32(), cal_changed_, cal_pot_buf_, cal_pot_size_, bncore::CollectOp::child_cliques, bncore::AssembleOp::child_cliques, bncore::CollectOp::child_maps, bncore::AssembleOp::child_maps, children_of_, clique_marg_info_, clique_states_, bncore::JunctionTree::cliques(), collect_ops_, collect_order_, bncore::combine_scopes(), distribute_ops_, distribute_order_, down_changed_, bncore::DistributeOp::down_map, bncore::AssembleOp::down_map, down_msg_buf_, down_msg_size_, ev_clique_, ev_scratch_, ev_scratch_active_, bncore::Graph::get_variable(), bncore::JunctionTree::graph(), bncore::AssembleOp::has_down, bncore::DistributeOp::has_parent_down, jt_, bncore::make_strides(), bncore::CollectOp::marg_map, bncore::DistributeOp::marg_map, max_product_states_, bncore::CliqueMargInfo::n_states_total, bncore::DistributeOp::parent_clique, parent_of_, bncore::CollectOp::pot_map, bncore::DistributeOp::pot_map, bncore::CollectOp::product_states, bncore::DistributeOp::product_states, bncore::AssembleOp::product_states, resize_runtime_buffers(), scratch_buf_, sepset_size_, bncore::DistributeOp::sibling_cliques, bncore::DistributeOp::sibling_maps, PG::size, bncore::CliqueMargInfo::state_of_dim, bncore::VariableMetadata::states, up_changed_, up_msg_buf_, and up_msg_size_.
Referenced by BatchWorkspace().
|
private |
Definition at line 128 of file workspace.cpp.
References bncore::JunctionTree::cliques(), jt_, node_in_cliques_, node_to_clique_, and PG::size.
Referenced by BatchWorkspace().
| void bncore::BatchWorkspace::calibrate | ( | ) |
Runs sum-product message passing with the current evidence.
Evidence is multiplied into the clique potentials, messages are passed from the leaves to the roots and back, and the calibrated belief of every clique is assembled for the query functions. Beliefs are not normalized; the query functions normalize each marginal. Parts of the tree that evidence cannot affect reuse the messages of the calibration without evidence.
When the batch size is 1, inconsistent evidence is reported by an exception. For larger batches it is not reported, and the affected rows produce all-zero marginals.
| std::invalid_argument | if a hard evidence state index is not below the variable's state count, or, with a batch size of 1, evidence leaves a clique potential that sums to zero or hard evidence leaves the root belief with a sum of zero. |
Definition at line 682 of file workspace.cpp.
References apply_soft_evidence_to_clique(), assemble_ops_, base_cal_buf_, base_down_buf_, base_up_buf_, batch_size_, cal_changed_, cal_pot_buf_, bncore::CollectOp::child_cliques, bncore::AssembleOp::child_cliques, bncore::CollectOp::child_maps, bncore::AssembleOp::child_maps, children_of_, clique_potentials_, bncore::JunctionTree::cliques(), collect_ops_, collect_order_, distribute_ops_, distribute_order_, down_changed_, bncore::DistributeOp::down_map, bncore::AssembleOp::down_map, down_msg_buf_, down_msg_size_, ev_clique_, evidence_matrix_, bncore::AssembleOp::has_down, bncore::DistributeOp::has_parent_down, is_first_calibration_, jt_, bncore::CollectOp::marg_map, bncore::DistributeOp::marg_map, parent_of_, bncore::CollectOp::pot_map, bncore::DistributeOp::pot_map, bncore::CollectOp::product_states, bncore::DistributeOp::product_states, bncore::AssembleOp::product_states, root_clique_, scratch_buf_, bncore::DistributeOp::sibling_cliques, bncore::DistributeOp::sibling_maps, soft_evidence_matrix_, soft_evidence_scalar_, up_changed_, up_msg_buf_, and up_msg_size_.
Referenced by bncore::BatchExecutionEngine::evaluate_multi(), and rebuild_clique_potentials().
| void bncore::BatchWorkspace::clear_evidence | ( | ) |
Forgets the hard evidence matrix. Soft evidence is not affected.
Definition at line 507 of file workspace.cpp.
References evidence_matrix_, and evidence_num_vars_.
Referenced by bncore::BatchExecutionEngine::evaluate_map(), bncore::BatchExecutionEngine::evaluate_multi(), rebuild_clique_potentials(), and reset().
| void bncore::BatchWorkspace::clear_soft_evidence | ( | ) |
Removes all soft evidence, scalar and matrix.
Definition at line 552 of file workspace.cpp.
References soft_evidence_matrix_, and soft_evidence_scalar_.
Referenced by bncore::BatchExecutionEngine::apply_soft_evidence_to_workspace().
| void bncore::BatchWorkspace::max_calibrate | ( | ) |
Runs max-product propagation with the current evidence, for query_map().
The call restores the clique potentials without evidence itself, applies the evidence, and passes max messages from the leaves to the roots. The belief of each clique is its potential times the messages of its children; no messages are passed back down. Results are stored apart from those of calibrate(), so both can be held at once.
| std::invalid_argument | if the batch size is not 1, a hard evidence state index is not below the variable's state count, or evidence leaves a clique potential that sums to zero. |
Definition at line 1160 of file workspace.cpp.
References apply_soft_evidence_to_clique(), assemble_ops_, base_clique_potentials_, batch_size_, bncore::CollectOp::child_cliques, bncore::AssembleOp::child_cliques, bncore::CollectOp::child_maps, bncore::AssembleOp::child_maps, clique_potentials_, clique_states_, bncore::JunctionTree::cliques(), collect_ops_, collect_order_, ev_clique_, ev_scratch_active_, evidence_matrix_, jt_, map_cal_pot_buf_, map_traceback_, map_up_msg_buf_, bncore::CollectOp::marg_map, parent_of_, bncore::CollectOp::pot_map, bncore::CollectOp::product_states, bncore::AssembleOp::product_states, scratch_buf_, sepset_size_, soft_evidence_matrix_, and soft_evidence_scalar_.
Referenced by bncore::BatchExecutionEngine::evaluate_map().
| void bncore::BatchWorkspace::query_map | ( | int * | out_states, |
| std::size_t | n_vars | ||
| ) | const |
Decodes a state for each variable from the max-product beliefs.
For each variable in the junction tree with an id below n_vars, the state written is the one with the largest belief entry in the first clique that contains the variable. Ties go to the lowest state index. Variables not in the JT are written as -1.
| out_states | Array of n_vars ints, allocated by the caller. Entry v receives the state of the variable with NodeId v. |
| n_vars | Length of out_states, normally the graph's variable count. |
Definition at line 1257 of file workspace.cpp.
References clique_marg_info_, bncore::JunctionTree::cliques(), bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, map_cal_pot_buf_, bncore::CliqueMargInfo::n_states_total, node_to_clique_, bncore::CliqueMargInfo::state_of_dim, and bncore::VariableMetadata::states.
Referenced by bncore::BatchExecutionEngine::evaluate_map().
| DenseTensor bncore::BatchWorkspace::query_marginal | ( | NodeId | node | ) | const |
Marginal of one variable from the last calibrate().
| node | Queried variable. |
| std::out_of_range | if node is not a variable of the graph. |
| std::invalid_argument | if node is not in the junction tree. |
Definition at line 1135 of file workspace.cpp.
References batch_size_, bncore::DenseTensor::data(), bncore::DenseTensor::fill(), bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, query_marginals_multi(), and bncore::VariableMetadata::states.
| void bncore::BatchWorkspace::query_marginals_multi | ( | const NodeId * | query_vars, |
| std::size_t | num_queries, | ||
| const std::size_t * | offsets, | ||
| double * | out | ||
| ) | const |
Marginals of several variables from the last calibrate(), with one scan of each clique involved.
out is flat, row-major [batch_size x T] with T = offsets[num_queries]. Within a row, the marginal of query q starts at offsets[q] and has one value per state. Each marginal is read from the first clique that contains the variable and is normalized to sum to 1. A marginal whose sum is zero is written as zeros.
| query_vars | Queried variables, num_queries of them. |
| num_queries | Number of queried variables. 0 returns at once. |
| offsets | Prefix offsets into an output row, num_queries + 1 entries. |
| out | Receives batch_size * T values. |
| std::invalid_argument | if a queried variable is not in the junction tree. |
Definition at line 987 of file workspace.cpp.
References batch_size_, cal_pot_buf_, clique_marg_info_, bncore::JunctionTree::cliques(), e, bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, bncore::CliqueMargInfo::n_states_total, node_to_clique_, query_visited_scratch_, bncore::CliqueMargInfo::state_of_dim, and bncore::VariableMetadata::states.
Referenced by bncore::BatchExecutionEngine::evaluate_multi(), and query_marginal().
|
private |
Builds the batched clique potentials from the graph's CPTs, snapshots them as the base, and runs the calibration without evidence.
Definition at line 371 of file workspace.cpp.
References base_batch_offset_, base_batch_size_, base_depends_on_offset_, calibrate(), clear_evidence(), clique_potentials_, bncore::JunctionTree::cliques(), bncore::VariableMetadata::cpt, cpt_batch_offset_, bncore::DenseTensor::data(), bncore::DenseTensor::fill(), bncore::Graph::get_parents(), bncore::Graph::get_variable(), bncore::JunctionTree::graph(), is_first_calibration_, jt_, bncore::Factor::multiply(), bncore::VariableMetadata::name, resize_runtime_buffers(), bncore::Factor::scope(), bncore::DenseTensor::shape(), PG::size, bncore::DenseTensor::size(), snapshot_base_potentials(), bncore::VariableMetadata::states, and bncore::Factor::tensor().
Referenced by BatchWorkspace(), and reset().
| void bncore::BatchWorkspace::reset | ( | std::size_t | new_batch_size, |
| std::size_t | cpt_batch_offset = 0 |
||
| ) |
Prepares the workspace for a new evidence case.
Sets the batch size, forgets the hard evidence matrix and restores the clique potentials to their values without evidence. Soft evidence is kept; use clear_soft_evidence() to drop it.
If the batch size is unchanged (and, when batched CPT rows are selected by offset, the offset is unchanged too), the kept potentials are reused and the call is cheap. Otherwise all buffers are resized, the potentials are rebuilt from the graph's CPTs and the calibration without evidence is run again. CPT changes made with Graph::set_cpt() are therefore picked up only when a rebuild happens.
| new_batch_size | Number of evidence rows. Must be greater than 0. |
| cpt_batch_offset | First row to use from batched CPTs that have more rows than new_batch_size. Rows [cpt_batch_offset, cpt_batch_offset + new_batch_size) are used. |
| std::invalid_argument | if new_batch_size is 0, or a rebuild fails for a reason listed at the constructor. |
Definition at line 475 of file workspace.cpp.
References base_batch_offset_, base_batch_size_, base_clique_potentials_, base_depends_on_offset_, batch_size_, clear_evidence(), clique_potentials_, cpt_batch_offset_, ev_scratch_active_, and rebuild_clique_potentials().
Referenced by bncore::BatchExecutionEngine::evaluate_map(), and bncore::BatchExecutionEngine::evaluate_multi().
|
private |
Sizes message, belief and scratch buffers for a batch size.
Definition at line 322 of file workspace.cpp.
References base_cal_buf_, base_down_buf_, base_up_buf_, cal_pot_buf_, cal_pot_size_, clique_states_, bncore::JunctionTree::cliques(), down_msg_buf_, down_msg_size_, jt_, max_product_states_, parent_of_, scratch_buf_, sepset_size_, up_msg_buf_, and up_msg_size_.
Referenced by build_message_schedule(), and rebuild_clique_potentials().
| void bncore::BatchWorkspace::set_evidence_matrix | ( | const int * | evidence_matrix, |
| std::size_t | num_vars | ||
| ) |
Sets the hard evidence for the next calibration.
Only the pointer is stored. The matrix must stay valid until calibrate() or max_calibrate() has returned. State indices are checked during calibration, not here.
| evidence_matrix | Row-major [batch_size x num_vars] matrix. Column v belongs to the variable with NodeId v. A negative entry means the variable is not observed in that row; otherwise the entry is the observed state index. |
| num_vars | Number of columns. Variables with an id of num_vars or more have no hard evidence. |
Definition at line 504 of file workspace.cpp.
References evidence_matrix_, and evidence_num_vars_.
Referenced by bncore::BatchExecutionEngine::evaluate_map(), and bncore::BatchExecutionEngine::evaluate_multi().
| void bncore::BatchWorkspace::set_soft_evidence | ( | NodeId | var, |
| const double * | likelihoods, | ||
| std::size_t | n_states | ||
| ) |
Sets one likelihood vector for a variable, shared by all batch rows.
likelihoods[s] is P(measurement | variable = s). The values are copied and need not sum to 1. Matrix soft evidence stored for the same variable is removed. During calibration, soft evidence for a variable is used in place of that variable's hard evidence.
| var | Variable the evidence applies to. |
| likelihoods | Array of n_states non-negative values. |
| n_states | Length of the array. Must equal the variable's state count. |
| std::out_of_range | if var is not a variable of the graph. |
| std::invalid_argument | if n_states does not match or a value is negative. |
Definition at line 514 of file workspace.cpp.
References bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, soft_evidence_matrix_, soft_evidence_scalar_, and bncore::VariableMetadata::states.
Referenced by bncore::BatchExecutionEngine::apply_soft_evidence_to_workspace().
| void bncore::BatchWorkspace::set_soft_evidence_matrix | ( | NodeId | var, |
| const double * | likelihoods_matrix, | ||
| std::size_t | n_states | ||
| ) |
Sets a separate likelihood vector per batch row for a variable.
likelihoods_matrix[b * n_states + s] is the likelihood of state s for batch row b. The call copies batch_size * n_states values using the current batch size, so call it after reset(). Scalar soft evidence stored for the same variable is removed.
| var | Variable the evidence applies to. |
| likelihoods_matrix | Row-major [batch_size x n_states] array of non-negative values. |
| n_states | State count of the variable. |
| std::out_of_range | if var is not a variable of the graph. |
| std::invalid_argument | if n_states does not match or a value is negative. |
Definition at line 532 of file workspace.cpp.
References batch_size_, bncore::Graph::get_variable(), bncore::JunctionTree::graph(), jt_, soft_evidence_matrix_, soft_evidence_scalar_, and bncore::VariableMetadata::states.
Referenced by bncore::BatchExecutionEngine::apply_soft_evidence_to_workspace().
|
private |
Copies clique_potentials_ into owning base_clique_potentials_.
Definition at line 360 of file workspace.cpp.
References base_clique_potentials_, clique_potentials_, bncore::DenseTensor::data(), and bncore::Factor::tensor().
Referenced by rebuild_clique_potentials().
|
private |
Definition at line 345 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and max_calibrate().
|
private |
Definition at line 317 of file workspace.hpp.
Referenced by rebuild_clique_potentials(), and reset().
|
private |
Definition at line 316 of file workspace.hpp.
Referenced by rebuild_clique_potentials(), and reset().
|
private |
Definition at line 377 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 315 of file workspace.hpp.
Referenced by max_calibrate(), reset(), and snapshot_base_potentials().
|
private |
Definition at line 318 of file workspace.hpp.
Referenced by rebuild_clique_potentials(), and reset().
|
private |
Definition at line 376 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 375 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 311 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), BatchWorkspace(), build_message_schedule(), calibrate(), max_calibrate(), query_marginal(), query_marginals_multi(), reset(), and set_soft_evidence_matrix().
|
private |
Definition at line 359 of file workspace.hpp.
Referenced by build_message_schedule(), and calibrate().
|
private |
Definition at line 362 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), query_marginals_multi(), and resize_runtime_buffers().
|
private |
Definition at line 363 of file workspace.hpp.
Referenced by build_message_schedule(), and resize_runtime_buffers().
|
private |
Definition at line 333 of file workspace.hpp.
Referenced by BatchWorkspace(), build_message_schedule(), and calibrate().
|
private |
Definition at line 381 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), build_message_schedule(), query_map(), and query_marginals_multi().
|
private |
Definition at line 314 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), calibrate(), max_calibrate(), rebuild_clique_potentials(), reset(), and snapshot_base_potentials().
|
private |
Definition at line 341 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), build_message_schedule(), max_calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 343 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and max_calibrate().
|
private |
Definition at line 330 of file workspace.hpp.
Referenced by BatchWorkspace(), build_message_schedule(), calibrate(), and max_calibrate().
|
private |
Definition at line 312 of file workspace.hpp.
Referenced by rebuild_clique_potentials(), and reset().
|
private |
Definition at line 344 of file workspace.hpp.
Referenced by build_message_schedule(), and calibrate().
|
private |
Definition at line 331 of file workspace.hpp.
Referenced by BatchWorkspace(), build_message_schedule(), and calibrate().
|
private |
Definition at line 358 of file workspace.hpp.
Referenced by build_message_schedule(), and calibrate().
|
private |
Definition at line 337 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 339 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 356 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), build_message_schedule(), calibrate(), and max_calibrate().
|
private |
Definition at line 385 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), and build_message_schedule().
|
private |
Definition at line 387 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), build_message_schedule(), max_calibrate(), and reset().
|
private |
Definition at line 319 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), calibrate(), clear_evidence(), max_calibrate(), and set_evidence_matrix().
|
private |
Definition at line 320 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), clear_evidence(), and set_evidence_matrix().
|
private |
Definition at line 378 of file workspace.hpp.
Referenced by calibrate(), and rebuild_clique_potentials().
|
private |
Definition at line 310 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), BatchWorkspace(), build_message_schedule(), build_node_to_clique_map(), calibrate(), max_calibrate(), query_map(), query_marginal(), query_marginals_multi(), rebuild_clique_potentials(), resize_runtime_buffers(), set_soft_evidence(), and set_soft_evidence_matrix().
|
private |
Definition at line 372 of file workspace.hpp.
Referenced by max_calibrate(), and query_map().
|
private |
Definition at line 370 of file workspace.hpp.
Referenced by max_calibrate().
|
private |
Definition at line 367 of file workspace.hpp.
Referenced by max_calibrate().
|
private |
Definition at line 351 of file workspace.hpp.
Referenced by build_message_schedule(), and resize_runtime_buffers().
|
private |
Definition at line 391 of file workspace.hpp.
Referenced by build_node_to_clique_map().
|
private |
Definition at line 390 of file workspace.hpp.
Referenced by build_node_to_clique_map(), query_map(), and query_marginals_multi().
|
private |
Definition at line 332 of file workspace.hpp.
Referenced by BatchWorkspace(), build_message_schedule(), calibrate(), max_calibrate(), and resize_runtime_buffers().
|
mutableprivate |
Definition at line 394 of file workspace.hpp.
Referenced by query_marginals_multi().
|
private |
Definition at line 329 of file workspace.hpp.
Referenced by BatchWorkspace(), and calibrate().
|
private |
Definition at line 350 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), max_calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 340 of file workspace.hpp.
Referenced by build_message_schedule(), max_calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 327 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), calibrate(), clear_soft_evidence(), max_calibrate(), set_soft_evidence(), and set_soft_evidence_matrix().
|
private |
Definition at line 326 of file workspace.hpp.
Referenced by apply_soft_evidence_to_clique(), calibrate(), clear_soft_evidence(), max_calibrate(), set_soft_evidence(), and set_soft_evidence_matrix().
|
private |
Definition at line 357 of file workspace.hpp.
Referenced by build_message_schedule(), and calibrate().
|
private |
Definition at line 336 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().
|
private |
Definition at line 338 of file workspace.hpp.
Referenced by build_message_schedule(), calibrate(), and resize_runtime_buffers().