From 1e1cd32395197492f345b1e696dcdc6e8aeff6cc Mon Sep 17 00:00:00 2001 From: liuanji Date: Wed, 16 Oct 2024 11:13:42 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20aea00?= =?UTF-8?q?3af73c58d093cf093bd298ea9888c0f8e0f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .doctrees/environment.pickle | Bin 2463221 -> 2463221 bytes .doctrees/python-api/tensorcircuit.doctree | Bin 83362 -> 85644 bytes .../05_common_transformations.zip | Bin 15352 -> 15352 bytes .../02_construct_simple_pc.zip | Bin 13704 -> 13704 bytes .../tutorials_jupyter.zip | Bin 40439 -> 40439 bytes .../04_query_pc.zip | Bin 12802 -> 12802 bytes .../tutorials_python.zip | Bin 24001 -> 24001 bytes .../01_train_pc.zip | Bin 14479 -> 14479 bytes .../03_construct_hmm.zip | Bin 8169 -> 8169 bytes python-api/tensorcircuit.html | 4 ++-- searchindex.js | 2 +- 11 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 6d54f365acf9cb9f530a5675bfeef8fbf8eb419a..a3be0c993fc09eaaa685385742c0b9f53075f55a 100644 GIT binary patch delta 7384 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 delta 7340 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 diff --git a/.doctrees/python-api/tensorcircuit.doctree b/.doctrees/python-api/tensorcircuit.doctree index 7ceb52f95b6eb4c907a8635ec4d070d88a7597ea..298c5c18418021ce6d525c63a30fd2a8cd12e135 100644 GIT binary patch delta 7538 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 delta 7154 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 Lv19sl7zh6gQ-;gI diff --git a/_downloads/138be0ba05114133a20190b9e95fa3df/05_common_transformations.zip b/_downloads/138be0ba05114133a20190b9e95fa3df/05_common_transformations.zip index 3ec4f0a8d7a4c0782d7ca1c088c46f33edf95020..180ad5334b5311b992d0333e9026b11a2c29ea0f 100644 GIT binary patch delta 47 tcmexS{-c~Xz?+#xgaHILMh0x;)e~g~(wpr>CDlNT$x+tsV0wvl2mn(N4vqi- delta 47 tcmexS{-c~Xz?+#xgaHI>y!|)w>WMM~>CJYcl4>BvCI0>I2AyQ$sbHyz_ht(AOJ`k4&VR) delta 47 tcmeCk?#Sj1@MdNaVE_ReZ~u+FS45bB^yViboC+Yu delta 100 zcmeyqo9X**Cf)#VW)=|!5U}y~-^k0Zzzn1}iz|q$ffk2d-5R0K6nvmRoCcgBe%dW`Lz8 c7sR-L1SW5faR<|kv6f)kHr5VI*Tp&m0E(+3p8x;= delta 100 zcmX@OoAKaoM&1B#W)=|!5U}y~-^hDKgc(S0ej=hL3TB9E^$UU-%dNG!!HlbJGr&@l b3u0VA0+YALxPxiNSW7T%8*2xq>tdY&rc51o diff --git a/_downloads/a398e0b6ad427b76aa1e83a10664efce/01_train_pc.zip b/_downloads/a398e0b6ad427b76aa1e83a10664efce/01_train_pc.zip index 0400c300f47cdaca7e77280687f6e820851028cf..9f3ea023e97d32003d83307cd3dad7849cde04b6 100644 GIT binary patch delta 47 tcmeA#>@VaE@MdNaVE}=RkpUZdr-?EH>CMYTQ@VaE@MdNaVE_ReZ~u+F(?pqp^yX!vDM}#5WL^tPFzspK1^^aI3+(^^ diff --git a/_downloads/d53424265b3faf11303f2bcbe1bdab7b/03_construct_hmm.zip b/_downloads/d53424265b3faf11303f2bcbe1bdab7b/03_construct_hmm.zip index 5fca490f40d90f06bf8d4370d4d0d8afd96c49f2..f586c0123e4ab07596eb0c07208d849dba59b28c 100644 GIT binary patch delta 47 tcmaE9|I(f}z?+#xgaHILMh0x;)#hdf(wnWhy!|)wYI8FK>CM*M@**I{pyjuice.TensorCircuit
-forward(inputs: Tensor, input_layer_fn: str | Callable | None = None, cache: dict | None = None, return_cache: bool = False, record_cudagraph: bool = False, apply_cudagraph: bool = True, force_use_bf16: bool = False, force_use_fp32: bool = False, propagation_alg: str | Sequence[str] | None = None, **kwargs)
+forward(inputs: Tensor, input_layer_fn: str | Callable | None = None, cache: dict | None = None, return_cache: bool = False, record_cudagraph: bool = False, apply_cudagraph: bool = True, force_use_bf16: bool = False, force_use_fp32: bool = False, propagation_alg: str | Sequence[str] | None = None, _inner_layers_only: bool = False, **kwargs)

Forward evaluation of the PC.

Parameters:
@@ -129,7 +129,7 @@

pyjuice.TensorCircuit
-backward(inputs: Tensor | None = None, ll_weights: Tensor | None = None, compute_param_flows: bool = True, flows_memory: float = 1.0, input_layer_fn: str | Callable | None = None, cache: dict | None = None, return_cache: bool = False, record_cudagraph: bool = False, apply_cudagraph: bool = True, allow_modify_flows: bool = True, propagation_alg: str | Sequence[str] = 'LL', logspace_flows: bool = False, negate_pflows: bool = False, **kwargs)
+backward(inputs: Tensor | None = None, ll_weights: Tensor | None = None, compute_param_flows: bool = True, flows_memory: float = 1.0, input_layer_fn: str | Callable | None = None, cache: dict | None = None, return_cache: bool = False, record_cudagraph: bool = False, apply_cudagraph: bool = True, allow_modify_flows: bool = True, propagation_alg: str | Sequence[str] = 'LL', logspace_flows: bool = False, negate_pflows: bool = False, _inner_layers_only: bool = False, **kwargs)

Backward evaluation of the PC that computes node flows as well as parameter flows.

Parameters:
diff --git a/searchindex.js b/searchindex.js index 8c475587..601fd469 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API": [[8, "api"]], "Adjust block sizes": [[5, "adjust-block-sizes"]], "Clone a PC": [[5, "clone-a-pc"]], "Computation times": [[7, null], [38, null]], "Compute conditional probabilities": [[4, "compute-conditional-probabilities"]], "Compute marginal probabilities": [[4, "compute-marginal-probabilities"]], "Construct Simple PCs": [[2, null]], "Construct an HMM": [[3, null]], "Create the PC": [[1, "create-the-pc"]], "Generate a PC": [[4, "generate-a-pc"]], "Getting started": [[8, "getting-started"]], "IO": [[35, "io"]], "Input Distributions": [[34, "input-distributions"]], "Input nodes": [[2, "input-nodes"]], "Installation": [[0, null]], "Load the MNIST Dataset": [[1, "load-the-mnist-dataset"]], "Merge PCs": [[5, "merge-pcs"]], "Methods": [[34, "methods"]], "Nodes": [[34, "nodes"]], "PC Compilation": [[35, "pc-compilation"]], "PC Creation": [[35, "pc-creation"]], "PC Structural Transformation Functions": [[5, null]], "PC Structure Transformation": [[35, "pc-structure-transformation"]], "Product nodes": [[2, "product-nodes"]], "Query a PC": [[4, null]], "Sum nodes": [[2, "sum-nodes"]], "Train a PC": [[1, null]], "Train the PC": [[1, "train-the-pc"]], "Tutorials": [[6, null]], "Welcome to PyJuice\u2019s documentation!": [[8, null]], "pyjuice": [[35, null]], "pyjuice.TensorCircuit": [[37, null]], "pyjuice.blockify": [[9, null]], "pyjuice.compile": [[10, null]], "pyjuice.deepcopy": [[11, null]], "pyjuice.inputs": [[12, null]], "pyjuice.load": [[13, null]], "pyjuice.merge": [[14, null]], "pyjuice.multiply": [[15, null]], "pyjuice.nodes": [[34, null]], "pyjuice.nodes.InputNodes": [[16, null]], "pyjuice.nodes.ProdNodes": [[17, null]], "pyjuice.nodes.SumNodes": [[18, null]], "pyjuice.nodes.distributions.Bernoulli": [[19, null]], "pyjuice.nodes.distributions.Categorical": [[20, null]], "pyjuice.nodes.distributions.DiscreteLogistic": [[21, null]], "pyjuice.nodes.distributions.Gaussian": [[22, null]], "pyjuice.nodes.distributions.MaskedCategorical": [[23, null]], "pyjuice.nodes.foldup_aggregate": [[24, null]], "pyjuice.nodes.foreach": [[25, null]], "pyjuice.save": [[26, null]], "pyjuice.set_block_size": [[27, null]], "pyjuice.structures": [[36, null]], "pyjuice.structures.HCLT": [[28, null]], "pyjuice.structures.HMM": [[29, null]], "pyjuice.structures.PD": [[30, null]], "pyjuice.structures.RAT_SPN": [[31, null]], "pyjuice.summate": [[32, null]], "pyjuice.unblockify": [[33, null]]}, "docnames": ["getting-started/installation", "getting-started/tutorials/01_train_pc", "getting-started/tutorials/02_construct_simple_pc", "getting-started/tutorials/03_construct_hmm", "getting-started/tutorials/04_query_pc", "getting-started/tutorials/05_common_transformations", "getting-started/tutorials/index", "getting-started/tutorials/sg_execution_times", "index", "python-api/generated/pyjuice.blockify", "python-api/generated/pyjuice.compile", "python-api/generated/pyjuice.deepcopy", "python-api/generated/pyjuice.inputs", "python-api/generated/pyjuice.load", "python-api/generated/pyjuice.merge", "python-api/generated/pyjuice.multiply", "python-api/generated/pyjuice.nodes.InputNodes", "python-api/generated/pyjuice.nodes.ProdNodes", "python-api/generated/pyjuice.nodes.SumNodes", "python-api/generated/pyjuice.nodes.distributions.Bernoulli", "python-api/generated/pyjuice.nodes.distributions.Categorical", "python-api/generated/pyjuice.nodes.distributions.DiscreteLogistic", "python-api/generated/pyjuice.nodes.distributions.Gaussian", "python-api/generated/pyjuice.nodes.distributions.MaskedCategorical", "python-api/generated/pyjuice.nodes.foldup_aggregate", "python-api/generated/pyjuice.nodes.foreach", "python-api/generated/pyjuice.save", "python-api/generated/pyjuice.set_block_size", "python-api/generated/pyjuice.structures.HCLT", "python-api/generated/pyjuice.structures.HMM", "python-api/generated/pyjuice.structures.PD", "python-api/generated/pyjuice.structures.RAT_SPN", "python-api/generated/pyjuice.summate", "python-api/generated/pyjuice.unblockify", "python-api/nodes", "python-api/pyjuice", "python-api/structures", "python-api/tensorcircuit", "sg_execution_times"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["getting-started/installation.rst", "getting-started/tutorials/01_train_pc.rst", "getting-started/tutorials/02_construct_simple_pc.rst", "getting-started/tutorials/03_construct_hmm.rst", "getting-started/tutorials/04_query_pc.rst", "getting-started/tutorials/05_common_transformations.rst", "getting-started/tutorials/index.rst", "getting-started/tutorials/sg_execution_times.rst", "index.rst", "python-api/generated/pyjuice.blockify.rst", "python-api/generated/pyjuice.compile.rst", "python-api/generated/pyjuice.deepcopy.rst", "python-api/generated/pyjuice.inputs.rst", "python-api/generated/pyjuice.load.rst", "python-api/generated/pyjuice.merge.rst", "python-api/generated/pyjuice.multiply.rst", "python-api/generated/pyjuice.nodes.InputNodes.rst", "python-api/generated/pyjuice.nodes.ProdNodes.rst", "python-api/generated/pyjuice.nodes.SumNodes.rst", "python-api/generated/pyjuice.nodes.distributions.Bernoulli.rst", "python-api/generated/pyjuice.nodes.distributions.Categorical.rst", "python-api/generated/pyjuice.nodes.distributions.DiscreteLogistic.rst", "python-api/generated/pyjuice.nodes.distributions.Gaussian.rst", "python-api/generated/pyjuice.nodes.distributions.MaskedCategorical.rst", "python-api/generated/pyjuice.nodes.foldup_aggregate.rst", "python-api/generated/pyjuice.nodes.foreach.rst", "python-api/generated/pyjuice.save.rst", "python-api/generated/pyjuice.set_block_size.rst", "python-api/generated/pyjuice.structures.HCLT.rst", "python-api/generated/pyjuice.structures.HMM.rst", "python-api/generated/pyjuice.structures.PD.rst", "python-api/generated/pyjuice.structures.RAT_SPN.rst", "python-api/generated/pyjuice.summate.rst", "python-api/generated/pyjuice.unblockify.rst", "python-api/nodes.rst", "python-api/pyjuice.rst", "python-api/structures.rst", "python-api/tensorcircuit.rst", "sg_execution_times.rst"], "indexentries": {"__init__() (pyjuice.nodes.distributions.bernoulli method)": [[19, "pyjuice.nodes.distributions.Bernoulli.__init__", false]], "__init__() (pyjuice.nodes.distributions.categorical method)": [[20, "pyjuice.nodes.distributions.Categorical.__init__", false]], "__init__() (pyjuice.nodes.distributions.discretelogistic method)": [[21, "pyjuice.nodes.distributions.DiscreteLogistic.__init__", false]], "__init__() (pyjuice.nodes.distributions.gaussian method)": [[22, "pyjuice.nodes.distributions.Gaussian.__init__", false]], "__init__() (pyjuice.nodes.distributions.maskedcategorical method)": [[23, "pyjuice.nodes.distributions.MaskedCategorical.__init__", false]], "__init__() (pyjuice.nodes.inputnodes method)": [[16, "pyjuice.nodes.InputNodes.__init__", false]], "__init__() (pyjuice.nodes.prodnodes method)": [[17, "pyjuice.nodes.ProdNodes.__init__", false]], "__init__() (pyjuice.nodes.sumnodes method)": [[18, "pyjuice.nodes.SumNodes.__init__", false]], "__init__() (pyjuice.set_block_size method)": [[27, "pyjuice.set_block_size.__init__", false]], "backward() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.backward", false]], "bernoulli (class in pyjuice.nodes.distributions)": [[19, "pyjuice.nodes.distributions.Bernoulli", false]], "blockify() (in module pyjuice)": [[9, "pyjuice.blockify", false]], "categorical (class in pyjuice.nodes.distributions)": [[20, "pyjuice.nodes.distributions.Categorical", false]], "compile() (in module pyjuice)": [[10, "pyjuice.compile", false]], "deepcopy() (in module pyjuice)": [[11, "pyjuice.deepcopy", false]], "discretelogistic (class in pyjuice.nodes.distributions)": [[21, "pyjuice.nodes.distributions.DiscreteLogistic", false]], "foldup_aggregate() (in module pyjuice.nodes)": [[24, "pyjuice.nodes.foldup_aggregate", false]], "foreach() (in module pyjuice.nodes)": [[25, "pyjuice.nodes.foreach", false]], "forward() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.forward", false]], "gaussian (class in pyjuice.nodes.distributions)": [[22, "pyjuice.nodes.distributions.Gaussian", false]], "hclt() (in module pyjuice.structures)": [[28, "pyjuice.structures.HCLT", false]], "hmm() (in module pyjuice.structures)": [[29, "pyjuice.structures.HMM", false]], "init_param_flows() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.init_param_flows", false]], "inputnodes (class in pyjuice.nodes)": [[16, "pyjuice.nodes.InputNodes", false]], "inputs() (in module pyjuice)": [[12, "pyjuice.inputs", false]], "load() (in module pyjuice)": [[13, "pyjuice.load", false]], "maskedcategorical (class in pyjuice.nodes.distributions)": [[23, "pyjuice.nodes.distributions.MaskedCategorical", false]], "merge() (in module pyjuice)": [[14, "pyjuice.merge", false]], "mini_batch_em() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.mini_batch_em", false]], "multiply() (in module pyjuice)": [[15, "pyjuice.multiply", false]], "pd() (in module pyjuice.structures)": [[30, "pyjuice.structures.PD", false]], "prodnodes (class in pyjuice.nodes)": [[17, "pyjuice.nodes.ProdNodes", false]], "rat_spn() (in module pyjuice.structures)": [[31, "pyjuice.structures.RAT_SPN", false]], "save() (in module pyjuice)": [[26, "pyjuice.save", false]], "set_block_size (class in pyjuice)": [[27, "pyjuice.set_block_size", false]], "summate() (in module pyjuice)": [[32, "pyjuice.summate", false]], "sumnodes (class in pyjuice.nodes)": [[18, "pyjuice.nodes.SumNodes", false]], "tensorcircuit (class in pyjuice)": [[37, "pyjuice.TensorCircuit", false]], "unblockify() (in module pyjuice)": [[33, "pyjuice.unblockify", false]], "update_param_flows() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.update_param_flows", false]], "update_parameters() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.update_parameters", false]]}, "objects": {"pyjuice": [[37, 0, 1, "", "TensorCircuit"], [9, 2, 1, "", "blockify"], [10, 2, 1, "", "compile"], [11, 2, 1, "", "deepcopy"], [12, 2, 1, "", "inputs"], [13, 2, 1, "", "load"], [14, 2, 1, "", "merge"], [15, 2, 1, "", "multiply"], [26, 2, 1, "", "save"], [27, 0, 1, "", "set_block_size"], [32, 2, 1, "", "summate"], [33, 2, 1, "", "unblockify"]], "pyjuice.TensorCircuit": [[37, 1, 1, "", "backward"], [37, 1, 1, "", "forward"], [37, 1, 1, "", "init_param_flows"], [37, 1, 1, "", "mini_batch_em"], [37, 1, 1, "", "update_param_flows"], [37, 1, 1, "", "update_parameters"]], "pyjuice.nodes": [[16, 0, 1, "", "InputNodes"], [17, 0, 1, "", "ProdNodes"], [18, 0, 1, "", "SumNodes"], [24, 2, 1, "", "foldup_aggregate"], [25, 2, 1, "", "foreach"]], "pyjuice.nodes.InputNodes": [[16, 1, 1, "", "__init__"]], "pyjuice.nodes.ProdNodes": [[17, 1, 1, "", "__init__"]], "pyjuice.nodes.SumNodes": [[18, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions": [[19, 0, 1, "", "Bernoulli"], [20, 0, 1, "", "Categorical"], [21, 0, 1, "", "DiscreteLogistic"], [22, 0, 1, "", "Gaussian"], [23, 0, 1, "", "MaskedCategorical"]], "pyjuice.nodes.distributions.Bernoulli": [[19, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.Categorical": [[20, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.DiscreteLogistic": [[21, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.Gaussian": [[22, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.MaskedCategorical": [[23, 1, 1, "", "__init__"]], "pyjuice.set_block_size": [[27, 1, 1, "", "__init__"]], "pyjuice.structures": [[28, 2, 1, "", "HCLT"], [29, 2, 1, "", "HMM"], [30, 2, 1, "", "PD"], [31, 2, 1, "", "RAT_SPN"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "function", "Python function"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:function"}, "terms": {"": [1, 2, 3, 5, 10, 30, 37], "0": [1, 2, 3, 4, 5, 7, 9, 10, 12, 14, 16, 17, 18, 21, 22, 27, 28, 32, 37, 38], "00": [7, 38], "000": [7, 38], "01": [1, 21, 22], "015625": 28, "01_train_pc": [1, 7], "02264": [1, 28], "02_construct_simple_pc": [2, 7], "03_construct_hmm": [3, 7], "04_query_pc": [4, 7], "05": 1, "05_common_transform": [5, 7], "1": [1, 2, 3, 4, 5, 9, 14, 15, 27, 28, 33, 37], "100": 1, "10000": 1, "1024": 3, "12": 2, "1202": 30, "128": 1, "16": 27, "1th": 2, "2": [2, 3, 4, 5, 18, 31, 32], "20": 27, "2048": 3, "2106": [1, 28], "25": [5, 9], "256": [28, 30, 31], "28": 1, "2f": 1, "3": [2, 4, 5, 30], "32": [3, 5, 9, 28], "350": 1, "3732": 30, "3d": 4, "4": [2, 4, 5, 27, 30], "4023": 3, "5": [2, 5, 7, 10, 14, 37], "512": 1, "6": [2, 4], "60000": 1, "64": [27, 28], "7": 4, "8": [2, 5, 10, 37], "9": 1, "A": [2, 16, 17, 18, 19, 20, 21, 22, 23, 37, 38], "And": 2, "By": [1, 5, 15], "For": [1, 2, 3, 4], "If": [2, 15, 32], "In": [2, 3, 4, 5], "It": [8, 15, 16, 17, 18, 32, 37], "NOT": 22, "That": 2, "The": [0, 1, 2, 3, 4, 13, 22, 26], "There": 5, "To": 5, "__init__": [16, 17, 18, 19, 20, 21, 22, 23, 27], "_no_set_meta_param": 16, "about": [2, 4], "abov": [2, 5], "accordingli": 3, "accumul": [1, 10, 37], "acycl": 1, "ad": [9, 10, 22, 37], "add": [5, 37], "addit": 1, "affect": [12, 32], "after": 3, "aggreg": 24, "aim": 8, "algorithm": 5, "align": 5, "all": [2, 3, 4, 5, 6, 15, 24, 25, 32, 38], "allow": [3, 5, 9, 10, 37], "allow_modify_flow": 37, "alpha": 29, "also": [1, 2, 4, 5], "altern": [0, 2, 4, 12, 25, 32], "although": 2, "alwai": [2, 11], "amen": 1, "an": [1, 5, 6, 7, 9, 10, 12, 15, 24, 25, 26, 32, 33, 37], "ani": [1, 2, 31, 37], "anoth": [2, 4, 5], "api": 2, "appli": 5, "apply_cudagraph": 37, "approxim": 22, "ar": [1, 2, 4, 5, 10, 22, 37], "arang": 2, "arg": [14, 15, 32], "argument": [2, 3], "arxiv": [1, 28, 30], "ask": 4, "assign": 1, "assum": [1, 2, 3, 4, 15], "atom": [10, 37], "attribut": [19, 20, 21, 22, 23], "avoid": [10, 37], "b": [4, 37], "backbon": [1, 28], "backward": [1, 37], "base": [1, 3], "basic": [1, 2], "batch": 1, "batch_siz": [1, 4, 37], "becom": 15, "befor": 1, "begin": 3, "behavior": 22, "being": 1, "below": [1, 25], "best": 5, "beta": 29, "better": [10, 37], "between": [2, 11, 30], "bin": 28, "bitset": 16, "block": [2, 3, 9, 10, 11, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33, 37], "block_siz": [2, 3, 5, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33], "blockifi": 5, "bool": [9, 10, 11, 15, 16, 29, 30, 33, 37], "both": [2, 3], "bottom": [24, 25], "break": 1, "built": 5, "bump": 5, "cach": [24, 37], "call": [25, 37], "callabl": [24, 25, 30, 37], "can": [0, 1, 2, 3, 4, 5, 22, 25], "case": [2, 4], "categor": [2, 3, 4, 5, 14, 23, 27, 28, 30, 31], "categori": [2, 4, 20, 21, 23], "caus": [10, 37], "cd": 0, "ch": [17, 18], "chang": [5, 12, 32], "child": [1, 2, 3, 5, 15, 17, 18, 32], "children": [2, 3, 15, 17, 32], "chow": [1, 28], "chunk": 28, "chunk_siz": 28, "circuit": 8, "circuitnod": [9, 10, 11, 12, 13, 14, 15, 17, 18, 24, 25, 26, 32, 33, 37], "circuitoptim": 1, "circuitschedul": 1, "class": [16, 17, 18, 19, 20, 21, 22, 23, 27, 28, 30, 31, 37], "clone": [0, 37], "code": [1, 2, 3, 4, 5, 6], "collaps": 5, "column": [2, 18, 32], "com": 0, "command": 0, "compact": 1, "compar": 2, "compat": 30, "compil": [1, 3, 4, 12, 26, 32, 37], "comput": [1, 24, 28, 37], "compute_param_flow": 37, "concaten": 5, "connect": [2, 5, 15, 17, 18, 30, 32], "consid": [5, 28], "consist": 4, "construct": [1, 4, 5, 6, 7, 12, 15, 27, 28, 29, 32], "consum": [10, 37], "contain": 6, "context": [3, 27], "copi": [5, 11, 33, 37], "correspond": [4, 37], "could": 5, "count": [2, 37], "cover": [1, 4], "cpu": [1, 10, 37], "creat": [2, 3, 4, 5, 11, 16, 17, 18], "crucial": [2, 3, 5], "cuda": [1, 4], "curr_x": 3, "curr_z": 3, "current": [33, 37], "custom": 37, "dag": [1, 10, 37], "data": [1, 4, 22, 28, 30], "data_shap": 30, "dataload": 1, "date": 4, "decreas": [28, 33], "deepcopi": [5, 37], "default": 15, "defin": [1, 2, 3, 4, 5, 8, 12, 15, 18, 29, 32], "demonstr": [1, 3, 4, 6], "denot": 15, "depth": [30, 31], "deriv": 3, "detach": 1, "detail": 1, "determin": 3, "deviat": [21, 22], "devic": [1, 4], "dict": [11, 24, 28, 30, 31, 37], "dictionari": [11, 24, 33], "differ": [2, 6], "dimens": [4, 30], "direct": 1, "directli": [22, 25], "disable_gpu_compil": [10, 37], "discret": 21, "disjoint": 15, "dismiss": 4, "displai": [10, 37], "dist": [1, 2, 3, 4, 5, 12, 14, 16, 27], "distribut": [1, 2, 3, 4, 5, 12, 16, 28, 30, 31], "divic": [12, 32], "divid": 28, "do": [1, 2, 4, 5, 25, 33, 37], "doe": [12, 32], "done": 4, "down": 25, "download": [1, 2, 3, 4, 5, 6], "drop_last": 1, "dry": 1, "dtype": 5, "duplic": 3, "dure": 5, "e": [0, 2, 3, 4, 5, 12, 15, 30, 32], "each": [2, 6, 12, 30, 32], "easi": 8, "easiest": 0, "easili": 5, "edg": [2, 5, 10, 15, 18, 32, 37], "edge_id": [2, 5, 15, 17, 18, 32], "effect": 2, "effici": [1, 2, 3, 5, 8], "either": 30, "els": 3, "em": [1, 37], "emiss": [3, 29], "encod": 4, "end": [1, 2, 3, 4, 5, 13, 26], "enough": 3, "ensur": 2, "entri": 4, "environ": 8, "epoch": 1, "equal": 2, "equival": [1, 5, 9, 10, 33, 37], "estim": 28, "etc": 3, "evalu": 37, "even": 5, "everi": [2, 4, 5, 10, 15, 18, 30, 32, 37], "evid": 4, "exampl": [1, 2, 3, 4, 5, 6, 7, 14, 25, 27, 38], "except": 5, "execut": [7, 38], "exist": [2, 3], "explor": 6, "f": 1, "fact": [2, 4], "fals": [1, 4, 10, 11, 15, 16, 30, 37], "familiar": 2, "featur": [2, 6], "fed": 2, "feed": 4, "feel": 6, "file": [7, 13, 26, 38], "final": 2, "first": [2, 14, 15, 32], "float": [1, 9, 10, 21, 22, 28, 37], "flow": [1, 10, 37], "flows_memori": [1, 37], "fname": [13, 26], "follow": [0, 1, 2, 3, 4, 5, 8], "foral": 4, "forc": [10, 37], "force_gpu_compil": [10, 37], "force_use_bf16": 37, "force_use_fp32": 37, "forward": [1, 37], "four": 4, "fraction": [5, 9, 10, 37], "free": 6, "friendli": 1, "from": [0, 1, 2, 3, 7, 12, 13, 31, 37, 38], "full": [1, 2, 3, 4, 5], "full_mask": 23, "fulli": [2, 5, 18, 32], "func": [24, 25], "function": [2, 3, 4, 6, 7, 22, 24, 25, 37], "g": [2, 3, 4, 30], "galleri": [1, 2, 3, 4, 5, 6, 38], "gamma": 29, "gener": [1, 2, 3, 5, 6, 9, 30, 31], "get": [2, 7], "git": 0, "github": 0, "given": [1, 4, 15, 32], "go": [1, 2, 3, 4, 5], "goal": [1, 2], "gpu": [1, 4, 9, 10, 28, 37], "gradient": [1, 10, 37], "graph": 1, "group": [5, 10, 37], "h": 30, "ha": [2, 4, 5], "handi": 3, "have": [2, 3, 4, 5, 12, 15, 32], "hclt": 1, "here": 2, "hidden": [1, 28, 29], "hide": 1, "high": [5, 9], "higher": [10, 37], "hmm": [6, 7], "homogen": 29, "how": [1, 3, 4, 5, 6, 10, 37], "howev": [2, 3], "http": [1, 28, 30, 31], "i": [0, 1, 2, 3, 4, 5, 8, 12, 15, 16, 17, 18, 22, 25, 32, 37], "i00": [5, 14], "i01": [5, 14], "i10": [5, 14], "i11": [5, 14], "id": [2, 12], "ident": 14, "imag": 30, "img": [1, 2, 3, 4, 5], "implement": 5, "import": [1, 2, 3, 4, 5], "increas": 5, "independ": 5, "indic": [2, 4], "infer": 8, "influenc": 4, "inform": 28, "inhomogen": 29, "init": 29, "init_param_flow": [1, 37], "init_paramet": [4, 5, 22], "initi": [3, 22, 37], "input": [1, 3, 4, 5, 9, 11, 14, 16, 27, 28, 30, 31, 32, 33, 37], "input_dist": [28, 30, 31], "input_layer_fn": [30, 37], "input_node_param": [28, 30, 31], "input_node_typ": [28, 30, 31], "inputnod": [1, 12, 15, 32], "instal": 8, "instanc": 1, "instruct": 8, "int": [9, 10, 11, 12, 16, 17, 18, 20, 21, 23, 27, 28, 29, 30, 31, 32, 33, 37], "integ": 30, "interv": 30, "introduc": 2, "ipynb": [1, 2, 3, 4, 5], "item": 1, "iter": 25, "ith": [15, 17, 18, 32], "its": [1, 2], "j": [2, 15, 17, 18, 32], "jl": 0, "jpc": [13, 26], "jth": [15, 17, 18, 32], "juic": [0, 1, 2, 3, 4, 5], "jupyt": [1, 2, 3, 4, 5, 6], "just": [1, 33], "k": 3, "keep_zero_param": 37, "kernel": 1, "keys_to_copi": 33, "keyword": 2, "kwarg": [12, 15, 16, 17, 18, 24, 32, 37], "larg": [2, 3, 5], "larger": 2, "last": 4, "latent": [1, 28, 29, 30, 31], "launch": 1, "layer": [10, 37], "layer_sparsity_tol": [10, 37], "learn": [2, 3, 5, 6], "len": 1, "length": 29, "less": [10, 37], "let": [1, 2, 3, 5], "leverag": [1, 3], "librari": [6, 8], "likelihood": [1, 37], "line": 2, "list": [2, 3, 12, 15, 32], "liu": [1, 28], "ll": [1, 4, 37], "ll_weight": 37, "log": [1, 37], "logist": 21, "logspace_flow": 37, "long": 5, "look": 8, "loop": 1, "lower": [10, 37], "lr": 1, "m": [2, 4, 5], "m00": 14, "m01": 14, "mai": 4, "manag": [3, 27], "mani": [10, 37], "manipul": 5, "manual": [1, 5], "map": 11, "markov": 29, "mask": [4, 23], "mask_mod": 23, "math": 2, "mathbf": [1, 4], "mathrm": 4, "matrix": [15, 17, 18, 32], "max_block_s": 11, "max_cdf_power_of_2": 3, "max_num_partit": [10, 37], "max_prod_block_conn": 30, "max_split_depth": 30, "max_target_block_s": [5, 9], "max_tied_ns_per_parflow_block": [10, 37], "maximum": [5, 9, 10, 11, 30, 37], "mb": [7, 38], "mean": [1, 2, 3, 22], "mem": [7, 38], "member": 37, "memori": [10, 28, 37], "mention": 5, "method": [1, 16, 17, 18, 19, 20, 21, 22, 23], "milestone_step": 1, "min": 3, "min_sigma": 22, "min_std": 21, "mini": 1, "mini_batch_em": [1, 37], "minimum": 21, "miss": 4, "missing_mask": 4, "mlr": 31, "model": [1, 3, 26, 29], "modul": [1, 10, 37], "move": [1, 4], "ms0": 5, "ms00": 5, "ms01": 5, "ms1": 5, "ms2": 5, "mu": 22, "multi_linear": 1, "multipl": [2, 5], "multipli": [2, 3, 4, 5, 14, 17, 27, 37], "multivari": 12, "must": 3, "mutual": 28, "n": [1, 2, 3, 4, 5, 10, 25, 38], "n0": 14, "n1": 14, "n_new": 14, "name": [13, 26], "ndarrai": 17, "necessari": [2, 3, 5], "need": [1, 2, 4, 30], "neg": 2, "negate_pflow": 37, "neither": 5, "network": 1, "neural": 1, "new": 3, "new_n": 5, "new_ns1": 5, "new_ns2": 5, "new_ns3": 5, "new_param": 37, "ni": 27, "ni0": [2, 4, 5], "ni1": [2, 4, 5], "ni2": 5, "ni3": 5, "nn": [1, 10, 37], "node": [1, 3, 4, 5, 8, 10, 12, 13, 14, 15, 27, 28, 30, 31, 32, 33, 37], "nodes1": [15, 32], "none": [2, 3, 10, 11, 12, 15, 16, 17, 18, 22, 24, 28, 29, 30, 31, 32, 33, 37], "nor": 5, "note": [1, 2, 3, 5, 15, 22, 25, 32], "notebook": [1, 2, 3, 4, 5, 6], "now": 1, "ns0": 5, "ns1": [5, 14], "ns2": 5, "ns_input": 3, "ns_sum": 3, "num_bin": 28, "num_cat": [2, 3, 4, 5, 14, 20, 21, 23, 27, 28, 30, 31], "num_categori": 4, "num_child_node_vector": 2, "num_emit": [3, 29], "num_lat": [1, 3, 28, 29, 30, 31], "num_nod": [4, 12, 27, 32], "num_node_block": [2, 3, 5, 12, 14, 15, 16, 17, 18, 27, 32], "num_piec": 31, "num_repetit": 31, "num_root": 37, "num_root_n": 28, "num_target_var": 4, "num_var": [4, 31, 37], "number": [2, 3, 10, 12, 16, 17, 18, 20, 21, 23, 28, 30, 31, 32, 37], "numpi": 1, "object": [5, 12, 15, 24, 32], "observ": 4, "one": 4, "onli": [1, 2, 3], "oper": [10, 37], "optim": 1, "option": [1, 5, 10, 11, 12, 15, 16, 17, 18, 24, 29, 30, 32, 33, 37], "order": 5, "org": [1, 28, 30], "origin": [3, 5, 11, 37], "origin_ns_onli": 37, "our": 8, "out": [1, 4, 28], "output": [1, 2, 4, 5, 15], "overhead": 1, "p": [1, 3, 4], "packag": [2, 3, 5], "pair": [2, 5], "parallel": 3, "param": [12, 16, 18, 37], "paramet": [1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 37], "parent": [2, 5], "partial": 2, "partit": [10, 37], "pass": [1, 22], "pattern": 2, "pc": [3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 29, 30, 32, 33, 37], "pdf": [1, 28, 30, 31], "peharz20a": 31, "per": 24, "perform": [1, 37], "perturb": 22, "pip": 0, "pipelin": 1, "png": [1, 2, 3, 4, 5], "point": 30, "pointer": 1, "pose": 2, "posit": 2, "possibl": [5, 9], "potenti": [9, 10, 37], "power": 2, "practic": 5, "prepar": 4, "press": 31, "previou": 4, "print": [1, 27], "probabilist": [4, 8], "probabl": 3, "proce": [1, 2, 4], "procedur": 5, "proceed": 31, "prod_domin": 30, "prodnod": [1, 15, 32], "prodnodesch": 15, "product": [1, 15, 17, 30], "progress": [10, 37], "project": 6, "propagation_alg": 37, "properli": 5, "properti": 33, "provid": [2, 5, 8], "pseudo": [5, 10, 37], "pseudocount": [1, 37], "py": [1, 2, 3, 4, 5, 7], "pyjuic": [0, 1, 2, 3, 4, 5, 6], "python": [1, 2, 3, 4, 5, 6, 8], "pytorch": 1, "queri": [6, 7], "quickli": 1, "quotient": 4, "random": 31, "rang": [1, 3, 9, 21, 23], "readi": 1, "record_cudagraph": [1, 37], "recurs": 33, "redund": 2, "region": 14, "remain": [3, 5, 14, 15, 32], "repeat": 2, "repres": [4, 10, 16, 17, 18, 19, 20, 21, 22, 23], "represent": 1, "requir": [1, 2, 15, 32], "rescal": 37, "reshap": 1, "respect": [1, 2, 4], "restrict": 2, "return": [4, 9, 10, 11, 12, 13, 15, 32, 33], "return_cach": 37, "reus": [3, 30], "rev_rang": 23, "revers": 25, "root": [1, 5, 10, 24, 25, 28, 37], "root_n": [9, 11, 24, 25, 33, 37], "run": [0, 1, 5, 28], "safe": 1, "sai": 4, "same": [2, 3, 4, 5, 10, 11, 12, 15, 32, 37], "sampl": [4, 28], "scalabl": 8, "schedul": 1, "scope": [5, 16, 31], "search": 9, "second": [2, 5], "see": 25, "seemingli": 2, "semant": [12, 32], "separ": 4, "seq_length": [3, 29], "sequenc": [12, 16, 17, 18, 29, 30, 33, 37], "set": [1, 2, 3, 4, 5, 10, 12, 15, 16, 18, 27, 32, 37], "set_block_s": [3, 5], "shall": 2, "shape": [2, 4, 30], "share": [10, 37], "shortcut": 2, "should": [2, 4, 9, 12, 13, 23, 26, 27, 32], "show": 2, "showcas": 6, "shuffl": 1, "sigma": [22, 28], "similar": [1, 2, 4], "similarli": [1, 4], "simpl": [4, 5, 6, 7], "simplic": 1, "simultan": [4, 5], "sinc": [2, 4, 5], "singl": 5, "size": [1, 2, 3, 4, 9, 11, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33, 37], "small": [10, 37], "so": [1, 2, 3], "soft": 4, "some": 5, "someth": 25, "sourc": [0, 1, 2, 3, 4, 5, 6], "space": [28, 29, 30, 31], "spars": [10, 37], "sparse_edg": 15, "sparsity_toler": [5, 9], "specif": [1, 2, 3, 4, 25], "specifi": [1, 2, 3, 4, 5, 15, 22, 30], "speed": [12, 32], "sphinx": [1, 2, 3, 4, 5, 6], "sphinx_gallery_thumbnail_path": [1, 2, 3, 4, 5], "split": [30, 31], "split_interv": 30, "split_point": 30, "spn": 31, "stall": [10, 37], "standard": [21, 22], "start": [1, 2, 3, 5, 7], "statement": 25, "std": 22, "step": [1, 37], "step_siz": [1, 37], "step_size_resc": 37, "store": [1, 24], "str": [13, 23, 26, 30, 33, 37], "string": 37, "structur": [1, 3, 6, 7, 8], "structure_typ": 30, "sub": 31, "subclass": [12, 15, 32, 37], "subset": 4, "suggest": 2, "sum": [1, 3, 5, 18, 30, 32], "sum_domin": 30, "summat": [2, 3, 4, 5, 14, 18, 27], "sumnod": [1, 15, 32], "sumnodesch": 32, "support": 8, "t": [2, 3], "t0": 1, "t1": 1, "t2": 1, "take": [2, 5, 8], "target": [27, 33], "target_var": 4, "tensor": [2, 4, 5, 12, 15, 16, 17, 18, 28, 29, 31, 32, 37], "tensorcircuit": [8, 26], "tensordataset": 1, "test_ll": 1, "text": 4, "th": [2, 15, 17], "thei": [2, 5], "therefor": [1, 2], "thi": [1, 2, 3, 4, 5, 6, 22, 30, 37], "throughout": 1, "ti": [3, 5, 10, 11, 37], "tie": [5, 11, 30], "tie_homogeneous_param": 30, "tie_param": [3, 5, 11], "time": [1, 2], "togeth": 14, "top": 25, "topolog": 1, "torch": [1, 2, 3, 4, 5, 10, 16, 28, 29, 37], "torchvis": 1, "total": [7, 12, 32, 38], "train": [4, 6, 7, 8], "train_data": 1, "train_dataset": 1, "train_ll": 1, "train_load": 1, "transform": [3, 6, 7], "transit": [3, 29], "travers": [24, 25], "tree": [1, 28], "true": [1, 3, 4, 5, 9, 10, 15, 25, 29, 33, 37], "try": [2, 5, 37], "tupl": [21, 30], "tutori": [1, 2, 3, 4, 5, 7, 8], "tutorials_jupyt": 6, "tutorials_python": 6, "two": [2, 4, 5], "type": [10, 23, 28, 30, 31], "u": [2, 3, 5], "uncompil": 26, "unconnect": 5, "under": 2, "union": [12, 15, 16, 26, 30, 32, 37], "unless": 15, "up": [24, 25], "updat": 37, "update_param_flow": 37, "update_paramet": 37, "updated_param": 37, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 22, 25, 28, 37], "usag": [5, 6], "use_cuda": 9, "user": 1, "util": [1, 3], "v115": 31, "val": [1, 4], "val_rang": 21, "valid_data": 1, "valid_dataset": 1, "valid_load": 1, "valu": [4, 10, 21, 22, 37], "var": [2, 3, 12, 27], "var_map": [5, 11], "variabl": [1, 2, 3, 4, 5, 11, 12, 15, 16, 28, 31, 32], "variat": 28, "variou": 6, "vector": [1, 2, 3, 5, 12, 15, 16, 17, 18, 32], "verbos": [10, 37], "via": [0, 25], "w": [4, 30], "wai": [0, 1], "want": [3, 4], "we": [1, 2, 3, 4, 5, 15], "weight": 37, "welcom": 6, "well": 37, "what": 5, "when": [2, 9, 28], "whenev": 5, "where": [2, 15], "whether": [10, 11, 29, 30, 33, 37], "which": [1, 2, 3, 4], "while": [1, 5], "why": 4, "within": [5, 10, 37], "without": 1, "wonder": 4, "x": [1, 4, 28], "x_": 3, "x_1": 4, "x_2": 4, "you": [0, 2, 5, 22], "your": 6, "z_": 3, "zero": [1, 9, 37], "zero_grad": 1, "zero_param_mask": 18, "zerol": [1, 37], "zip": [1, 2, 3, 4, 5, 6]}, "titles": ["Installation", "Train a PC", "Construct Simple PCs", "Construct an HMM", "Query a PC", "PC Structural Transformation Functions", "Tutorials", "Computation times", "Welcome to PyJuice\u2019s documentation!", "pyjuice.blockify", "pyjuice.compile", "pyjuice.deepcopy", "pyjuice.inputs", "pyjuice.load", "pyjuice.merge", "pyjuice.multiply", "pyjuice.nodes.InputNodes", "pyjuice.nodes.ProdNodes", "pyjuice.nodes.SumNodes", "pyjuice.nodes.distributions.Bernoulli", "pyjuice.nodes.distributions.Categorical", "pyjuice.nodes.distributions.DiscreteLogistic", "pyjuice.nodes.distributions.Gaussian", "pyjuice.nodes.distributions.MaskedCategorical", "pyjuice.nodes.foldup_aggregate", "pyjuice.nodes.foreach", "pyjuice.save", "pyjuice.set_block_size", "pyjuice.structures.HCLT", "pyjuice.structures.HMM", "pyjuice.structures.PD", "pyjuice.structures.RAT_SPN", "pyjuice.summate", "pyjuice.unblockify", "pyjuice.nodes", "pyjuice", "pyjuice.structures", "pyjuice.TensorCircuit", "Computation times"], "titleterms": {"": 8, "adjust": 5, "an": 3, "api": 8, "bernoulli": 19, "block": 5, "blockifi": 9, "categor": 20, "clone": 5, "compil": [10, 35], "comput": [4, 7, 38], "condit": 4, "construct": [2, 3], "creat": 1, "creation": 35, "dataset": 1, "deepcopi": 11, "discretelogist": 21, "distribut": [19, 20, 21, 22, 23, 34], "document": 8, "foldup_aggreg": 24, "foreach": 25, "function": 5, "gaussian": 22, "gener": 4, "get": 8, "hclt": 28, "hmm": [3, 29], "input": [2, 12, 34], "inputnod": 16, "instal": 0, "io": 35, "load": [1, 13], "margin": 4, "maskedcategor": 23, "merg": [5, 14], "method": 34, "mnist": 1, "multipli": 15, "node": [2, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 34], "pc": [1, 2, 4, 5, 35], "pd": 30, "probabl": 4, "prodnod": 17, "product": 2, "pyjuic": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "queri": 4, "rat_spn": 31, "save": 26, "set_block_s": 27, "simpl": 2, "size": 5, "start": 8, "structur": [5, 28, 29, 30, 31, 35, 36], "sum": 2, "summat": 32, "sumnod": 18, "tensorcircuit": 37, "time": [7, 38], "train": 1, "transform": [5, 35], "tutori": 6, "unblockifi": 33, "welcom": 8}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API": [[8, "api"]], "Adjust block sizes": [[5, "adjust-block-sizes"]], "Clone a PC": [[5, "clone-a-pc"]], "Computation times": [[7, null], [38, null]], "Compute conditional probabilities": [[4, "compute-conditional-probabilities"]], "Compute marginal probabilities": [[4, "compute-marginal-probabilities"]], "Construct Simple PCs": [[2, null]], "Construct an HMM": [[3, null]], "Create the PC": [[1, "create-the-pc"]], "Generate a PC": [[4, "generate-a-pc"]], "Getting started": [[8, "getting-started"]], "IO": [[35, "io"]], "Input Distributions": [[34, "input-distributions"]], "Input nodes": [[2, "input-nodes"]], "Installation": [[0, null]], "Load the MNIST Dataset": [[1, "load-the-mnist-dataset"]], "Merge PCs": [[5, "merge-pcs"]], "Methods": [[34, "methods"]], "Nodes": [[34, "nodes"]], "PC Compilation": [[35, "pc-compilation"]], "PC Creation": [[35, "pc-creation"]], "PC Structural Transformation Functions": [[5, null]], "PC Structure Transformation": [[35, "pc-structure-transformation"]], "Product nodes": [[2, "product-nodes"]], "Query a PC": [[4, null]], "Sum nodes": [[2, "sum-nodes"]], "Train a PC": [[1, null]], "Train the PC": [[1, "train-the-pc"]], "Tutorials": [[6, null]], "Welcome to PyJuice\u2019s documentation!": [[8, null]], "pyjuice": [[35, null]], "pyjuice.TensorCircuit": [[37, null]], "pyjuice.blockify": [[9, null]], "pyjuice.compile": [[10, null]], "pyjuice.deepcopy": [[11, null]], "pyjuice.inputs": [[12, null]], "pyjuice.load": [[13, null]], "pyjuice.merge": [[14, null]], "pyjuice.multiply": [[15, null]], "pyjuice.nodes": [[34, null]], "pyjuice.nodes.InputNodes": [[16, null]], "pyjuice.nodes.ProdNodes": [[17, null]], "pyjuice.nodes.SumNodes": [[18, null]], "pyjuice.nodes.distributions.Bernoulli": [[19, null]], "pyjuice.nodes.distributions.Categorical": [[20, null]], "pyjuice.nodes.distributions.DiscreteLogistic": [[21, null]], "pyjuice.nodes.distributions.Gaussian": [[22, null]], "pyjuice.nodes.distributions.MaskedCategorical": [[23, null]], "pyjuice.nodes.foldup_aggregate": [[24, null]], "pyjuice.nodes.foreach": [[25, null]], "pyjuice.save": [[26, null]], "pyjuice.set_block_size": [[27, null]], "pyjuice.structures": [[36, null]], "pyjuice.structures.HCLT": [[28, null]], "pyjuice.structures.HMM": [[29, null]], "pyjuice.structures.PD": [[30, null]], "pyjuice.structures.RAT_SPN": [[31, null]], "pyjuice.summate": [[32, null]], "pyjuice.unblockify": [[33, null]]}, "docnames": ["getting-started/installation", "getting-started/tutorials/01_train_pc", "getting-started/tutorials/02_construct_simple_pc", "getting-started/tutorials/03_construct_hmm", "getting-started/tutorials/04_query_pc", "getting-started/tutorials/05_common_transformations", "getting-started/tutorials/index", "getting-started/tutorials/sg_execution_times", "index", "python-api/generated/pyjuice.blockify", "python-api/generated/pyjuice.compile", "python-api/generated/pyjuice.deepcopy", "python-api/generated/pyjuice.inputs", "python-api/generated/pyjuice.load", "python-api/generated/pyjuice.merge", "python-api/generated/pyjuice.multiply", "python-api/generated/pyjuice.nodes.InputNodes", "python-api/generated/pyjuice.nodes.ProdNodes", "python-api/generated/pyjuice.nodes.SumNodes", "python-api/generated/pyjuice.nodes.distributions.Bernoulli", "python-api/generated/pyjuice.nodes.distributions.Categorical", "python-api/generated/pyjuice.nodes.distributions.DiscreteLogistic", "python-api/generated/pyjuice.nodes.distributions.Gaussian", "python-api/generated/pyjuice.nodes.distributions.MaskedCategorical", "python-api/generated/pyjuice.nodes.foldup_aggregate", "python-api/generated/pyjuice.nodes.foreach", "python-api/generated/pyjuice.save", "python-api/generated/pyjuice.set_block_size", "python-api/generated/pyjuice.structures.HCLT", "python-api/generated/pyjuice.structures.HMM", "python-api/generated/pyjuice.structures.PD", "python-api/generated/pyjuice.structures.RAT_SPN", "python-api/generated/pyjuice.summate", "python-api/generated/pyjuice.unblockify", "python-api/nodes", "python-api/pyjuice", "python-api/structures", "python-api/tensorcircuit", "sg_execution_times"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["getting-started/installation.rst", "getting-started/tutorials/01_train_pc.rst", "getting-started/tutorials/02_construct_simple_pc.rst", "getting-started/tutorials/03_construct_hmm.rst", "getting-started/tutorials/04_query_pc.rst", "getting-started/tutorials/05_common_transformations.rst", "getting-started/tutorials/index.rst", "getting-started/tutorials/sg_execution_times.rst", "index.rst", "python-api/generated/pyjuice.blockify.rst", "python-api/generated/pyjuice.compile.rst", "python-api/generated/pyjuice.deepcopy.rst", "python-api/generated/pyjuice.inputs.rst", "python-api/generated/pyjuice.load.rst", "python-api/generated/pyjuice.merge.rst", "python-api/generated/pyjuice.multiply.rst", "python-api/generated/pyjuice.nodes.InputNodes.rst", "python-api/generated/pyjuice.nodes.ProdNodes.rst", "python-api/generated/pyjuice.nodes.SumNodes.rst", "python-api/generated/pyjuice.nodes.distributions.Bernoulli.rst", "python-api/generated/pyjuice.nodes.distributions.Categorical.rst", "python-api/generated/pyjuice.nodes.distributions.DiscreteLogistic.rst", "python-api/generated/pyjuice.nodes.distributions.Gaussian.rst", "python-api/generated/pyjuice.nodes.distributions.MaskedCategorical.rst", "python-api/generated/pyjuice.nodes.foldup_aggregate.rst", "python-api/generated/pyjuice.nodes.foreach.rst", "python-api/generated/pyjuice.save.rst", "python-api/generated/pyjuice.set_block_size.rst", "python-api/generated/pyjuice.structures.HCLT.rst", "python-api/generated/pyjuice.structures.HMM.rst", "python-api/generated/pyjuice.structures.PD.rst", "python-api/generated/pyjuice.structures.RAT_SPN.rst", "python-api/generated/pyjuice.summate.rst", "python-api/generated/pyjuice.unblockify.rst", "python-api/nodes.rst", "python-api/pyjuice.rst", "python-api/structures.rst", "python-api/tensorcircuit.rst", "sg_execution_times.rst"], "indexentries": {"__init__() (pyjuice.nodes.distributions.bernoulli method)": [[19, "pyjuice.nodes.distributions.Bernoulli.__init__", false]], "__init__() (pyjuice.nodes.distributions.categorical method)": [[20, "pyjuice.nodes.distributions.Categorical.__init__", false]], "__init__() (pyjuice.nodes.distributions.discretelogistic method)": [[21, "pyjuice.nodes.distributions.DiscreteLogistic.__init__", false]], "__init__() (pyjuice.nodes.distributions.gaussian method)": [[22, "pyjuice.nodes.distributions.Gaussian.__init__", false]], "__init__() (pyjuice.nodes.distributions.maskedcategorical method)": [[23, "pyjuice.nodes.distributions.MaskedCategorical.__init__", false]], "__init__() (pyjuice.nodes.inputnodes method)": [[16, "pyjuice.nodes.InputNodes.__init__", false]], "__init__() (pyjuice.nodes.prodnodes method)": [[17, "pyjuice.nodes.ProdNodes.__init__", false]], "__init__() (pyjuice.nodes.sumnodes method)": [[18, "pyjuice.nodes.SumNodes.__init__", false]], "__init__() (pyjuice.set_block_size method)": [[27, "pyjuice.set_block_size.__init__", false]], "backward() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.backward", false]], "bernoulli (class in pyjuice.nodes.distributions)": [[19, "pyjuice.nodes.distributions.Bernoulli", false]], "blockify() (in module pyjuice)": [[9, "pyjuice.blockify", false]], "categorical (class in pyjuice.nodes.distributions)": [[20, "pyjuice.nodes.distributions.Categorical", false]], "compile() (in module pyjuice)": [[10, "pyjuice.compile", false]], "deepcopy() (in module pyjuice)": [[11, "pyjuice.deepcopy", false]], "discretelogistic (class in pyjuice.nodes.distributions)": [[21, "pyjuice.nodes.distributions.DiscreteLogistic", false]], "foldup_aggregate() (in module pyjuice.nodes)": [[24, "pyjuice.nodes.foldup_aggregate", false]], "foreach() (in module pyjuice.nodes)": [[25, "pyjuice.nodes.foreach", false]], "forward() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.forward", false]], "gaussian (class in pyjuice.nodes.distributions)": [[22, "pyjuice.nodes.distributions.Gaussian", false]], "hclt() (in module pyjuice.structures)": [[28, "pyjuice.structures.HCLT", false]], "hmm() (in module pyjuice.structures)": [[29, "pyjuice.structures.HMM", false]], "init_param_flows() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.init_param_flows", false]], "inputnodes (class in pyjuice.nodes)": [[16, "pyjuice.nodes.InputNodes", false]], "inputs() (in module pyjuice)": [[12, "pyjuice.inputs", false]], "load() (in module pyjuice)": [[13, "pyjuice.load", false]], "maskedcategorical (class in pyjuice.nodes.distributions)": [[23, "pyjuice.nodes.distributions.MaskedCategorical", false]], "merge() (in module pyjuice)": [[14, "pyjuice.merge", false]], "mini_batch_em() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.mini_batch_em", false]], "multiply() (in module pyjuice)": [[15, "pyjuice.multiply", false]], "pd() (in module pyjuice.structures)": [[30, "pyjuice.structures.PD", false]], "prodnodes (class in pyjuice.nodes)": [[17, "pyjuice.nodes.ProdNodes", false]], "rat_spn() (in module pyjuice.structures)": [[31, "pyjuice.structures.RAT_SPN", false]], "save() (in module pyjuice)": [[26, "pyjuice.save", false]], "set_block_size (class in pyjuice)": [[27, "pyjuice.set_block_size", false]], "summate() (in module pyjuice)": [[32, "pyjuice.summate", false]], "sumnodes (class in pyjuice.nodes)": [[18, "pyjuice.nodes.SumNodes", false]], "tensorcircuit (class in pyjuice)": [[37, "pyjuice.TensorCircuit", false]], "unblockify() (in module pyjuice)": [[33, "pyjuice.unblockify", false]], "update_param_flows() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.update_param_flows", false]], "update_parameters() (pyjuice.tensorcircuit method)": [[37, "pyjuice.TensorCircuit.update_parameters", false]]}, "objects": {"pyjuice": [[37, 0, 1, "", "TensorCircuit"], [9, 2, 1, "", "blockify"], [10, 2, 1, "", "compile"], [11, 2, 1, "", "deepcopy"], [12, 2, 1, "", "inputs"], [13, 2, 1, "", "load"], [14, 2, 1, "", "merge"], [15, 2, 1, "", "multiply"], [26, 2, 1, "", "save"], [27, 0, 1, "", "set_block_size"], [32, 2, 1, "", "summate"], [33, 2, 1, "", "unblockify"]], "pyjuice.TensorCircuit": [[37, 1, 1, "", "backward"], [37, 1, 1, "", "forward"], [37, 1, 1, "", "init_param_flows"], [37, 1, 1, "", "mini_batch_em"], [37, 1, 1, "", "update_param_flows"], [37, 1, 1, "", "update_parameters"]], "pyjuice.nodes": [[16, 0, 1, "", "InputNodes"], [17, 0, 1, "", "ProdNodes"], [18, 0, 1, "", "SumNodes"], [24, 2, 1, "", "foldup_aggregate"], [25, 2, 1, "", "foreach"]], "pyjuice.nodes.InputNodes": [[16, 1, 1, "", "__init__"]], "pyjuice.nodes.ProdNodes": [[17, 1, 1, "", "__init__"]], "pyjuice.nodes.SumNodes": [[18, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions": [[19, 0, 1, "", "Bernoulli"], [20, 0, 1, "", "Categorical"], [21, 0, 1, "", "DiscreteLogistic"], [22, 0, 1, "", "Gaussian"], [23, 0, 1, "", "MaskedCategorical"]], "pyjuice.nodes.distributions.Bernoulli": [[19, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.Categorical": [[20, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.DiscreteLogistic": [[21, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.Gaussian": [[22, 1, 1, "", "__init__"]], "pyjuice.nodes.distributions.MaskedCategorical": [[23, 1, 1, "", "__init__"]], "pyjuice.set_block_size": [[27, 1, 1, "", "__init__"]], "pyjuice.structures": [[28, 2, 1, "", "HCLT"], [29, 2, 1, "", "HMM"], [30, 2, 1, "", "PD"], [31, 2, 1, "", "RAT_SPN"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "function", "Python function"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:function"}, "terms": {"": [1, 2, 3, 5, 10, 30, 37], "0": [1, 2, 3, 4, 5, 7, 9, 10, 12, 14, 16, 17, 18, 21, 22, 27, 28, 32, 37, 38], "00": [7, 38], "000": [7, 38], "01": [1, 21, 22], "015625": 28, "01_train_pc": [1, 7], "02264": [1, 28], "02_construct_simple_pc": [2, 7], "03_construct_hmm": [3, 7], "04_query_pc": [4, 7], "05": 1, "05_common_transform": [5, 7], "1": [1, 2, 3, 4, 5, 9, 14, 15, 27, 28, 33, 37], "100": 1, "10000": 1, "1024": 3, "12": 2, "1202": 30, "128": 1, "16": 27, "1th": 2, "2": [2, 3, 4, 5, 18, 31, 32], "20": 27, "2048": 3, "2106": [1, 28], "25": [5, 9], "256": [28, 30, 31], "28": 1, "2f": 1, "3": [2, 4, 5, 30], "32": [3, 5, 9, 28], "350": 1, "3732": 30, "3d": 4, "4": [2, 4, 5, 27, 30], "4023": 3, "5": [2, 5, 7, 10, 14, 37], "512": 1, "6": [2, 4], "60000": 1, "64": [27, 28], "7": 4, "8": [2, 5, 10, 37], "9": 1, "A": [2, 16, 17, 18, 19, 20, 21, 22, 23, 37, 38], "And": 2, "By": [1, 5, 15], "For": [1, 2, 3, 4], "If": [2, 15, 32], "In": [2, 3, 4, 5], "It": [8, 15, 16, 17, 18, 32, 37], "NOT": 22, "That": 2, "The": [0, 1, 2, 3, 4, 13, 22, 26], "There": 5, "To": 5, "__init__": [16, 17, 18, 19, 20, 21, 22, 23, 27], "_inner_layers_onli": 37, "_no_set_meta_param": 16, "about": [2, 4], "abov": [2, 5], "accordingli": 3, "accumul": [1, 10, 37], "acycl": 1, "ad": [9, 10, 22, 37], "add": [5, 37], "addit": 1, "affect": [12, 32], "after": 3, "aggreg": 24, "aim": 8, "algorithm": 5, "align": 5, "all": [2, 3, 4, 5, 6, 15, 24, 25, 32, 38], "allow": [3, 5, 9, 10, 37], "allow_modify_flow": 37, "alpha": 29, "also": [1, 2, 4, 5], "altern": [0, 2, 4, 12, 25, 32], "although": 2, "alwai": [2, 11], "amen": 1, "an": [1, 5, 6, 7, 9, 10, 12, 15, 24, 25, 26, 32, 33, 37], "ani": [1, 2, 31, 37], "anoth": [2, 4, 5], "api": 2, "appli": 5, "apply_cudagraph": 37, "approxim": 22, "ar": [1, 2, 4, 5, 10, 22, 37], "arang": 2, "arg": [14, 15, 32], "argument": [2, 3], "arxiv": [1, 28, 30], "ask": 4, "assign": 1, "assum": [1, 2, 3, 4, 15], "atom": [10, 37], "attribut": [19, 20, 21, 22, 23], "avoid": [10, 37], "b": [4, 37], "backbon": [1, 28], "backward": [1, 37], "base": [1, 3], "basic": [1, 2], "batch": 1, "batch_siz": [1, 4, 37], "becom": 15, "befor": 1, "begin": 3, "behavior": 22, "being": 1, "below": [1, 25], "best": 5, "beta": 29, "better": [10, 37], "between": [2, 11, 30], "bin": 28, "bitset": 16, "block": [2, 3, 9, 10, 11, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33, 37], "block_siz": [2, 3, 5, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33], "blockifi": 5, "bool": [9, 10, 11, 15, 16, 29, 30, 33, 37], "both": [2, 3], "bottom": [24, 25], "break": 1, "built": 5, "bump": 5, "cach": [24, 37], "call": [25, 37], "callabl": [24, 25, 30, 37], "can": [0, 1, 2, 3, 4, 5, 22, 25], "case": [2, 4], "categor": [2, 3, 4, 5, 14, 23, 27, 28, 30, 31], "categori": [2, 4, 20, 21, 23], "caus": [10, 37], "cd": 0, "ch": [17, 18], "chang": [5, 12, 32], "child": [1, 2, 3, 5, 15, 17, 18, 32], "children": [2, 3, 15, 17, 32], "chow": [1, 28], "chunk": 28, "chunk_siz": 28, "circuit": 8, "circuitnod": [9, 10, 11, 12, 13, 14, 15, 17, 18, 24, 25, 26, 32, 33, 37], "circuitoptim": 1, "circuitschedul": 1, "class": [16, 17, 18, 19, 20, 21, 22, 23, 27, 28, 30, 31, 37], "clone": [0, 37], "code": [1, 2, 3, 4, 5, 6], "collaps": 5, "column": [2, 18, 32], "com": 0, "command": 0, "compact": 1, "compar": 2, "compat": 30, "compil": [1, 3, 4, 12, 26, 32, 37], "comput": [1, 24, 28, 37], "compute_param_flow": 37, "concaten": 5, "connect": [2, 5, 15, 17, 18, 30, 32], "consid": [5, 28], "consist": 4, "construct": [1, 4, 5, 6, 7, 12, 15, 27, 28, 29, 32], "consum": [10, 37], "contain": 6, "context": [3, 27], "copi": [5, 11, 33, 37], "correspond": [4, 37], "could": 5, "count": [2, 37], "cover": [1, 4], "cpu": [1, 10, 37], "creat": [2, 3, 4, 5, 11, 16, 17, 18], "crucial": [2, 3, 5], "cuda": [1, 4], "curr_x": 3, "curr_z": 3, "current": [33, 37], "custom": 37, "dag": [1, 10, 37], "data": [1, 4, 22, 28, 30], "data_shap": 30, "dataload": 1, "date": 4, "decreas": [28, 33], "deepcopi": [5, 37], "default": 15, "defin": [1, 2, 3, 4, 5, 8, 12, 15, 18, 29, 32], "demonstr": [1, 3, 4, 6], "denot": 15, "depth": [30, 31], "deriv": 3, "detach": 1, "detail": 1, "determin": 3, "deviat": [21, 22], "devic": [1, 4], "dict": [11, 24, 28, 30, 31, 37], "dictionari": [11, 24, 33], "differ": [2, 6], "dimens": [4, 30], "direct": 1, "directli": [22, 25], "disable_gpu_compil": [10, 37], "discret": 21, "disjoint": 15, "dismiss": 4, "displai": [10, 37], "dist": [1, 2, 3, 4, 5, 12, 14, 16, 27], "distribut": [1, 2, 3, 4, 5, 12, 16, 28, 30, 31], "divic": [12, 32], "divid": 28, "do": [1, 2, 4, 5, 25, 33, 37], "doe": [12, 32], "done": 4, "down": 25, "download": [1, 2, 3, 4, 5, 6], "drop_last": 1, "dry": 1, "dtype": 5, "duplic": 3, "dure": 5, "e": [0, 2, 3, 4, 5, 12, 15, 30, 32], "each": [2, 6, 12, 30, 32], "easi": 8, "easiest": 0, "easili": 5, "edg": [2, 5, 10, 15, 18, 32, 37], "edge_id": [2, 5, 15, 17, 18, 32], "effect": 2, "effici": [1, 2, 3, 5, 8], "either": 30, "els": 3, "em": [1, 37], "emiss": [3, 29], "encod": 4, "end": [1, 2, 3, 4, 5, 13, 26], "enough": 3, "ensur": 2, "entri": 4, "environ": 8, "epoch": 1, "equal": 2, "equival": [1, 5, 9, 10, 33, 37], "estim": 28, "etc": 3, "evalu": 37, "even": 5, "everi": [2, 4, 5, 10, 15, 18, 30, 32, 37], "evid": 4, "exampl": [1, 2, 3, 4, 5, 6, 7, 14, 25, 27, 38], "except": 5, "execut": [7, 38], "exist": [2, 3], "explor": 6, "f": 1, "fact": [2, 4], "fals": [1, 4, 10, 11, 15, 16, 30, 37], "familiar": 2, "featur": [2, 6], "fed": 2, "feed": 4, "feel": 6, "file": [7, 13, 26, 38], "final": 2, "first": [2, 14, 15, 32], "float": [1, 9, 10, 21, 22, 28, 37], "flow": [1, 10, 37], "flows_memori": [1, 37], "fname": [13, 26], "follow": [0, 1, 2, 3, 4, 5, 8], "foral": 4, "forc": [10, 37], "force_gpu_compil": [10, 37], "force_use_bf16": 37, "force_use_fp32": 37, "forward": [1, 37], "four": 4, "fraction": [5, 9, 10, 37], "free": 6, "friendli": 1, "from": [0, 1, 2, 3, 7, 12, 13, 31, 37, 38], "full": [1, 2, 3, 4, 5], "full_mask": 23, "fulli": [2, 5, 18, 32], "func": [24, 25], "function": [2, 3, 4, 6, 7, 22, 24, 25, 37], "g": [2, 3, 4, 30], "galleri": [1, 2, 3, 4, 5, 6, 38], "gamma": 29, "gener": [1, 2, 3, 5, 6, 9, 30, 31], "get": [2, 7], "git": 0, "github": 0, "given": [1, 4, 15, 32], "go": [1, 2, 3, 4, 5], "goal": [1, 2], "gpu": [1, 4, 9, 10, 28, 37], "gradient": [1, 10, 37], "graph": 1, "group": [5, 10, 37], "h": 30, "ha": [2, 4, 5], "handi": 3, "have": [2, 3, 4, 5, 12, 15, 32], "hclt": 1, "here": 2, "hidden": [1, 28, 29], "hide": 1, "high": [5, 9], "higher": [10, 37], "hmm": [6, 7], "homogen": 29, "how": [1, 3, 4, 5, 6, 10, 37], "howev": [2, 3], "http": [1, 28, 30, 31], "i": [0, 1, 2, 3, 4, 5, 8, 12, 15, 16, 17, 18, 22, 25, 32, 37], "i00": [5, 14], "i01": [5, 14], "i10": [5, 14], "i11": [5, 14], "id": [2, 12], "ident": 14, "imag": 30, "img": [1, 2, 3, 4, 5], "implement": 5, "import": [1, 2, 3, 4, 5], "increas": 5, "independ": 5, "indic": [2, 4], "infer": 8, "influenc": 4, "inform": 28, "inhomogen": 29, "init": 29, "init_param_flow": [1, 37], "init_paramet": [4, 5, 22], "initi": [3, 22, 37], "input": [1, 3, 4, 5, 9, 11, 14, 16, 27, 28, 30, 31, 32, 33, 37], "input_dist": [28, 30, 31], "input_layer_fn": [30, 37], "input_node_param": [28, 30, 31], "input_node_typ": [28, 30, 31], "inputnod": [1, 12, 15, 32], "instal": 8, "instanc": 1, "instruct": 8, "int": [9, 10, 11, 12, 16, 17, 18, 20, 21, 23, 27, 28, 29, 30, 31, 32, 33, 37], "integ": 30, "interv": 30, "introduc": 2, "ipynb": [1, 2, 3, 4, 5], "item": 1, "iter": 25, "ith": [15, 17, 18, 32], "its": [1, 2], "j": [2, 15, 17, 18, 32], "jl": 0, "jpc": [13, 26], "jth": [15, 17, 18, 32], "juic": [0, 1, 2, 3, 4, 5], "jupyt": [1, 2, 3, 4, 5, 6], "just": [1, 33], "k": 3, "keep_zero_param": 37, "kernel": 1, "keys_to_copi": 33, "keyword": 2, "kwarg": [12, 15, 16, 17, 18, 24, 32, 37], "larg": [2, 3, 5], "larger": 2, "last": 4, "latent": [1, 28, 29, 30, 31], "launch": 1, "layer": [10, 37], "layer_sparsity_tol": [10, 37], "learn": [2, 3, 5, 6], "len": 1, "length": 29, "less": [10, 37], "let": [1, 2, 3, 5], "leverag": [1, 3], "librari": [6, 8], "likelihood": [1, 37], "line": 2, "list": [2, 3, 12, 15, 32], "liu": [1, 28], "ll": [1, 4, 37], "ll_weight": 37, "log": [1, 37], "logist": 21, "logspace_flow": 37, "long": 5, "look": 8, "loop": 1, "lower": [10, 37], "lr": 1, "m": [2, 4, 5], "m00": 14, "m01": 14, "mai": 4, "manag": [3, 27], "mani": [10, 37], "manipul": 5, "manual": [1, 5], "map": 11, "markov": 29, "mask": [4, 23], "mask_mod": 23, "math": 2, "mathbf": [1, 4], "mathrm": 4, "matrix": [15, 17, 18, 32], "max_block_s": 11, "max_cdf_power_of_2": 3, "max_num_partit": [10, 37], "max_prod_block_conn": 30, "max_split_depth": 30, "max_target_block_s": [5, 9], "max_tied_ns_per_parflow_block": [10, 37], "maximum": [5, 9, 10, 11, 30, 37], "mb": [7, 38], "mean": [1, 2, 3, 22], "mem": [7, 38], "member": 37, "memori": [10, 28, 37], "mention": 5, "method": [1, 16, 17, 18, 19, 20, 21, 22, 23], "milestone_step": 1, "min": 3, "min_sigma": 22, "min_std": 21, "mini": 1, "mini_batch_em": [1, 37], "minimum": 21, "miss": 4, "missing_mask": 4, "mlr": 31, "model": [1, 3, 26, 29], "modul": [1, 10, 37], "move": [1, 4], "ms0": 5, "ms00": 5, "ms01": 5, "ms1": 5, "ms2": 5, "mu": 22, "multi_linear": 1, "multipl": [2, 5], "multipli": [2, 3, 4, 5, 14, 17, 27, 37], "multivari": 12, "must": 3, "mutual": 28, "n": [1, 2, 3, 4, 5, 10, 25, 38], "n0": 14, "n1": 14, "n_new": 14, "name": [13, 26], "ndarrai": 17, "necessari": [2, 3, 5], "need": [1, 2, 4, 30], "neg": 2, "negate_pflow": 37, "neither": 5, "network": 1, "neural": 1, "new": 3, "new_n": 5, "new_ns1": 5, "new_ns2": 5, "new_ns3": 5, "new_param": 37, "ni": 27, "ni0": [2, 4, 5], "ni1": [2, 4, 5], "ni2": 5, "ni3": 5, "nn": [1, 10, 37], "node": [1, 3, 4, 5, 8, 10, 12, 13, 14, 15, 27, 28, 30, 31, 32, 33, 37], "nodes1": [15, 32], "none": [2, 3, 10, 11, 12, 15, 16, 17, 18, 22, 24, 28, 29, 30, 31, 32, 33, 37], "nor": 5, "note": [1, 2, 3, 5, 15, 22, 25, 32], "notebook": [1, 2, 3, 4, 5, 6], "now": 1, "ns0": 5, "ns1": [5, 14], "ns2": 5, "ns_input": 3, "ns_sum": 3, "num_bin": 28, "num_cat": [2, 3, 4, 5, 14, 20, 21, 23, 27, 28, 30, 31], "num_categori": 4, "num_child_node_vector": 2, "num_emit": [3, 29], "num_lat": [1, 3, 28, 29, 30, 31], "num_nod": [4, 12, 27, 32], "num_node_block": [2, 3, 5, 12, 14, 15, 16, 17, 18, 27, 32], "num_piec": 31, "num_repetit": 31, "num_root": 37, "num_root_n": 28, "num_target_var": 4, "num_var": [4, 31, 37], "number": [2, 3, 10, 12, 16, 17, 18, 20, 21, 23, 28, 30, 31, 32, 37], "numpi": 1, "object": [5, 12, 15, 24, 32], "observ": 4, "one": 4, "onli": [1, 2, 3], "oper": [10, 37], "optim": 1, "option": [1, 5, 10, 11, 12, 15, 16, 17, 18, 24, 29, 30, 32, 33, 37], "order": 5, "org": [1, 28, 30], "origin": [3, 5, 11, 37], "origin_ns_onli": 37, "our": 8, "out": [1, 4, 28], "output": [1, 2, 4, 5, 15], "overhead": 1, "p": [1, 3, 4], "packag": [2, 3, 5], "pair": [2, 5], "parallel": 3, "param": [12, 16, 18, 37], "paramet": [1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 37], "parent": [2, 5], "partial": 2, "partit": [10, 37], "pass": [1, 22], "pattern": 2, "pc": [3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 29, 30, 32, 33, 37], "pdf": [1, 28, 30, 31], "peharz20a": 31, "per": 24, "perform": [1, 37], "perturb": 22, "pip": 0, "pipelin": 1, "png": [1, 2, 3, 4, 5], "point": 30, "pointer": 1, "pose": 2, "posit": 2, "possibl": [5, 9], "potenti": [9, 10, 37], "power": 2, "practic": 5, "prepar": 4, "press": 31, "previou": 4, "print": [1, 27], "probabilist": [4, 8], "probabl": 3, "proce": [1, 2, 4], "procedur": 5, "proceed": 31, "prod_domin": 30, "prodnod": [1, 15, 32], "prodnodesch": 15, "product": [1, 15, 17, 30], "progress": [10, 37], "project": 6, "propagation_alg": 37, "properli": 5, "properti": 33, "provid": [2, 5, 8], "pseudo": [5, 10, 37], "pseudocount": [1, 37], "py": [1, 2, 3, 4, 5, 7], "pyjuic": [0, 1, 2, 3, 4, 5, 6], "python": [1, 2, 3, 4, 5, 6, 8], "pytorch": 1, "queri": [6, 7], "quickli": 1, "quotient": 4, "random": 31, "rang": [1, 3, 9, 21, 23], "readi": 1, "record_cudagraph": [1, 37], "recurs": 33, "redund": 2, "region": 14, "remain": [3, 5, 14, 15, 32], "repeat": 2, "repres": [4, 10, 16, 17, 18, 19, 20, 21, 22, 23], "represent": 1, "requir": [1, 2, 15, 32], "rescal": 37, "reshap": 1, "respect": [1, 2, 4], "restrict": 2, "return": [4, 9, 10, 11, 12, 13, 15, 32, 33], "return_cach": 37, "reus": [3, 30], "rev_rang": 23, "revers": 25, "root": [1, 5, 10, 24, 25, 28, 37], "root_n": [9, 11, 24, 25, 33, 37], "run": [0, 1, 5, 28], "safe": 1, "sai": 4, "same": [2, 3, 4, 5, 10, 11, 12, 15, 32, 37], "sampl": [4, 28], "scalabl": 8, "schedul": 1, "scope": [5, 16, 31], "search": 9, "second": [2, 5], "see": 25, "seemingli": 2, "semant": [12, 32], "separ": 4, "seq_length": [3, 29], "sequenc": [12, 16, 17, 18, 29, 30, 33, 37], "set": [1, 2, 3, 4, 5, 10, 12, 15, 16, 18, 27, 32, 37], "set_block_s": [3, 5], "shall": 2, "shape": [2, 4, 30], "share": [10, 37], "shortcut": 2, "should": [2, 4, 9, 12, 13, 23, 26, 27, 32], "show": 2, "showcas": 6, "shuffl": 1, "sigma": [22, 28], "similar": [1, 2, 4], "similarli": [1, 4], "simpl": [4, 5, 6, 7], "simplic": 1, "simultan": [4, 5], "sinc": [2, 4, 5], "singl": 5, "size": [1, 2, 3, 4, 9, 11, 12, 15, 16, 17, 18, 27, 28, 29, 30, 31, 32, 33, 37], "small": [10, 37], "so": [1, 2, 3], "soft": 4, "some": 5, "someth": 25, "sourc": [0, 1, 2, 3, 4, 5, 6], "space": [28, 29, 30, 31], "spars": [10, 37], "sparse_edg": 15, "sparsity_toler": [5, 9], "specif": [1, 2, 3, 4, 25], "specifi": [1, 2, 3, 4, 5, 15, 22, 30], "speed": [12, 32], "sphinx": [1, 2, 3, 4, 5, 6], "sphinx_gallery_thumbnail_path": [1, 2, 3, 4, 5], "split": [30, 31], "split_interv": 30, "split_point": 30, "spn": 31, "stall": [10, 37], "standard": [21, 22], "start": [1, 2, 3, 5, 7], "statement": 25, "std": 22, "step": [1, 37], "step_siz": [1, 37], "step_size_resc": 37, "store": [1, 24], "str": [13, 23, 26, 30, 33, 37], "string": 37, "structur": [1, 3, 6, 7, 8], "structure_typ": 30, "sub": 31, "subclass": [12, 15, 32, 37], "subset": 4, "suggest": 2, "sum": [1, 3, 5, 18, 30, 32], "sum_domin": 30, "summat": [2, 3, 4, 5, 14, 18, 27], "sumnod": [1, 15, 32], "sumnodesch": 32, "support": 8, "t": [2, 3], "t0": 1, "t1": 1, "t2": 1, "take": [2, 5, 8], "target": [27, 33], "target_var": 4, "tensor": [2, 4, 5, 12, 15, 16, 17, 18, 28, 29, 31, 32, 37], "tensorcircuit": [8, 26], "tensordataset": 1, "test_ll": 1, "text": 4, "th": [2, 15, 17], "thei": [2, 5], "therefor": [1, 2], "thi": [1, 2, 3, 4, 5, 6, 22, 30, 37], "throughout": 1, "ti": [3, 5, 10, 11, 37], "tie": [5, 11, 30], "tie_homogeneous_param": 30, "tie_param": [3, 5, 11], "time": [1, 2], "togeth": 14, "top": 25, "topolog": 1, "torch": [1, 2, 3, 4, 5, 10, 16, 28, 29, 37], "torchvis": 1, "total": [7, 12, 32, 38], "train": [4, 6, 7, 8], "train_data": 1, "train_dataset": 1, "train_ll": 1, "train_load": 1, "transform": [3, 6, 7], "transit": [3, 29], "travers": [24, 25], "tree": [1, 28], "true": [1, 3, 4, 5, 9, 10, 15, 25, 29, 33, 37], "try": [2, 5, 37], "tupl": [21, 30], "tutori": [1, 2, 3, 4, 5, 7, 8], "tutorials_jupyt": 6, "tutorials_python": 6, "two": [2, 4, 5], "type": [10, 23, 28, 30, 31], "u": [2, 3, 5], "uncompil": 26, "unconnect": 5, "under": 2, "union": [12, 15, 16, 26, 30, 32, 37], "unless": 15, "up": [24, 25], "updat": 37, "update_param_flow": 37, "update_paramet": 37, "updated_param": 37, "us": [1, 2, 3, 4, 5, 6, 8, 9, 10, 22, 25, 28, 37], "usag": [5, 6], "use_cuda": 9, "user": 1, "util": [1, 3], "v115": 31, "val": [1, 4], "val_rang": 21, "valid_data": 1, "valid_dataset": 1, "valid_load": 1, "valu": [4, 10, 21, 22, 37], "var": [2, 3, 12, 27], "var_map": [5, 11], "variabl": [1, 2, 3, 4, 5, 11, 12, 15, 16, 28, 31, 32], "variat": 28, "variou": 6, "vector": [1, 2, 3, 5, 12, 15, 16, 17, 18, 32], "verbos": [10, 37], "via": [0, 25], "w": [4, 30], "wai": [0, 1], "want": [3, 4], "we": [1, 2, 3, 4, 5, 15], "weight": 37, "welcom": 6, "well": 37, "what": 5, "when": [2, 9, 28], "whenev": 5, "where": [2, 15], "whether": [10, 11, 29, 30, 33, 37], "which": [1, 2, 3, 4], "while": [1, 5], "why": 4, "within": [5, 10, 37], "without": 1, "wonder": 4, "x": [1, 4, 28], "x_": 3, "x_1": 4, "x_2": 4, "you": [0, 2, 5, 22], "your": 6, "z_": 3, "zero": [1, 9, 37], "zero_grad": 1, "zero_param_mask": 18, "zerol": [1, 37], "zip": [1, 2, 3, 4, 5, 6]}, "titles": ["Installation", "Train a PC", "Construct Simple PCs", "Construct an HMM", "Query a PC", "PC Structural Transformation Functions", "Tutorials", "Computation times", "Welcome to PyJuice\u2019s documentation!", "pyjuice.blockify", "pyjuice.compile", "pyjuice.deepcopy", "pyjuice.inputs", "pyjuice.load", "pyjuice.merge", "pyjuice.multiply", "pyjuice.nodes.InputNodes", "pyjuice.nodes.ProdNodes", "pyjuice.nodes.SumNodes", "pyjuice.nodes.distributions.Bernoulli", "pyjuice.nodes.distributions.Categorical", "pyjuice.nodes.distributions.DiscreteLogistic", "pyjuice.nodes.distributions.Gaussian", "pyjuice.nodes.distributions.MaskedCategorical", "pyjuice.nodes.foldup_aggregate", "pyjuice.nodes.foreach", "pyjuice.save", "pyjuice.set_block_size", "pyjuice.structures.HCLT", "pyjuice.structures.HMM", "pyjuice.structures.PD", "pyjuice.structures.RAT_SPN", "pyjuice.summate", "pyjuice.unblockify", "pyjuice.nodes", "pyjuice", "pyjuice.structures", "pyjuice.TensorCircuit", "Computation times"], "titleterms": {"": 8, "adjust": 5, "an": 3, "api": 8, "bernoulli": 19, "block": 5, "blockifi": 9, "categor": 20, "clone": 5, "compil": [10, 35], "comput": [4, 7, 38], "condit": 4, "construct": [2, 3], "creat": 1, "creation": 35, "dataset": 1, "deepcopi": 11, "discretelogist": 21, "distribut": [19, 20, 21, 22, 23, 34], "document": 8, "foldup_aggreg": 24, "foreach": 25, "function": 5, "gaussian": 22, "gener": 4, "get": 8, "hclt": 28, "hmm": [3, 29], "input": [2, 12, 34], "inputnod": 16, "instal": 0, "io": 35, "load": [1, 13], "margin": 4, "maskedcategor": 23, "merg": [5, 14], "method": 34, "mnist": 1, "multipli": 15, "node": [2, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 34], "pc": [1, 2, 4, 5, 35], "pd": 30, "probabl": 4, "prodnod": 17, "product": 2, "pyjuic": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "queri": 4, "rat_spn": 31, "save": 26, "set_block_s": 27, "simpl": 2, "size": 5, "start": 8, "structur": [5, 28, 29, 30, 31, 35, 36], "sum": 2, "summat": 32, "sumnod": 18, "tensorcircuit": 37, "time": [7, 38], "train": 1, "transform": [5, 35], "tutori": 6, "unblockifi": 33, "welcom": 8}}) \ No newline at end of file