compiled-knowledge 4.0.0a23__cp312-cp312-win32.whl → 4.0.0a25__cp312-cp312-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of compiled-knowledge might be problematic. Click here for more details.
- ck/circuit/_circuit_cy.c +1 -1
- ck/circuit/_circuit_cy.cp312-win32.pyd +0 -0
- ck/circuit/tmp_const.py +5 -4
- ck/circuit_compiler/circuit_compiler.py +3 -2
- ck/circuit_compiler/cython_vm_compiler/_compiler.c +152 -152
- ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd +0 -0
- ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c +1 -1
- ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd +0 -0
- ck/circuit_compiler/support/llvm_ir_function.py +4 -4
- ck/example/diamond_square.py +3 -1
- ck/example/triangle_square.py +3 -1
- ck/example/truss.py +3 -1
- ck/in_out/parse_net.py +21 -19
- ck/in_out/parser_utils.py +7 -3
- ck/pgm.py +146 -139
- ck/pgm_circuit/mpe_program.py +3 -4
- ck/pgm_circuit/pgm_circuit.py +27 -18
- ck/pgm_circuit/program_with_slotmap.py +4 -1
- ck/pgm_compiler/pgm_compiler.py +1 -1
- ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c +1 -1
- ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd +0 -0
- ck/pgm_compiler/support/join_tree.py +3 -3
- ck/probability/empirical_probability_space.py +4 -3
- ck/probability/pgm_probability_space.py +7 -3
- ck/probability/probability_space.py +20 -15
- ck/program/raw_program.py +23 -16
- ck/sampling/sampler_support.py +7 -5
- ck/utils/iter_extras.py +3 -2
- ck/utils/local_config.py +16 -8
- {compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/METADATA +1 -1
- {compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/RECORD +34 -34
- {compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/WHEEL +0 -0
- {compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/licenses/LICENSE.txt +0 -0
- {compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/top_level.txt +0 -0
ck/pgm_circuit/pgm_circuit.py
CHANGED
|
@@ -16,33 +16,42 @@ class PGMCircuit:
|
|
|
16
16
|
holds the values of the parameters. Specifically, given parameter id `param_id`, then
|
|
17
17
|
`parameter_values[slot_map[param_id] - number_of_indicators]` is the value of the
|
|
18
18
|
identified parameter as it was in the PGM.
|
|
19
|
-
|
|
20
|
-
Fields:
|
|
21
|
-
rvs: holds the random variables from the PGM as it was compiled, in order.
|
|
22
|
-
|
|
23
|
-
conditions: any conditions on `rvs` that were compiled into the circuit.
|
|
24
|
-
|
|
25
|
-
number_of_indicators: is the number of indicators in `rvs` which is
|
|
26
|
-
`sum(len(rv) for rv in rvs`. Specifically, `circuit.vars[i]` is the circuit variable
|
|
27
|
-
corresponding to the ith indicator, where `circuit` is `circuit_top.circuit` and
|
|
28
|
-
indicators are ordered as per `rvs`.
|
|
29
|
-
|
|
30
|
-
number_of_parameters: is the number of parameters from the PGM that are
|
|
31
|
-
represented as circuit variables. This may be zero if parameters from the PGM
|
|
32
|
-
were compiled as constants.
|
|
33
|
-
|
|
34
|
-
slot_map[x]: gives the index of the circuit variable corresponding to x,
|
|
35
|
-
where x is either a random variable indicator (Indicator) or a parameter id (ParamId).
|
|
36
|
-
|
|
37
19
|
"""
|
|
38
20
|
|
|
39
21
|
rvs: Sequence[RandomVariable]
|
|
22
|
+
"""holds the random variables from the PGM as it was compiled, in order."""
|
|
23
|
+
|
|
40
24
|
conditions: Sequence[Indicator]
|
|
25
|
+
"""any conditions on `rvs` that were compiled into the circuit."""
|
|
26
|
+
|
|
41
27
|
circuit_top: CircuitNode
|
|
28
|
+
"""the top circuit node defining the network function."""
|
|
29
|
+
|
|
42
30
|
number_of_indicators: int
|
|
31
|
+
"""
|
|
32
|
+
the number of indicators in `rvs` which is
|
|
33
|
+
`sum(len(rv) for rv in rvs`. Specifically, `circuit.vars[i]` is the circuit variable
|
|
34
|
+
corresponding to the ith indicator, where `circuit` is `circuit_top.circuit` and
|
|
35
|
+
indicators are ordered as per `rvs`.
|
|
36
|
+
"""
|
|
37
|
+
|
|
43
38
|
number_of_parameters: int
|
|
39
|
+
"""
|
|
40
|
+
the number of parameters from the PGM that are
|
|
41
|
+
represented as circuit variables. This may be zero if parameters from the PGM
|
|
42
|
+
were compiled as constants.
|
|
43
|
+
"""
|
|
44
|
+
|
|
44
45
|
slot_map: SlotMap
|
|
46
|
+
"""
|
|
47
|
+
gives the index of the circuit variable corresponding to x,
|
|
48
|
+
where x is either a random variable indicator (Indicator) or a parameter id (ParamId).
|
|
49
|
+
"""
|
|
50
|
+
|
|
45
51
|
parameter_values: NDArray
|
|
52
|
+
"""
|
|
53
|
+
parameter values, co-indexed with the circuit variables, counting beyond `number_of_indicators`.
|
|
54
|
+
"""
|
|
46
55
|
|
|
47
56
|
def dump(self, *, prefix: str = '', indent: str = ' ') -> None:
|
|
48
57
|
"""
|
|
@@ -114,7 +114,10 @@ class ProgramWithSlotmap:
|
|
|
114
114
|
|
|
115
115
|
def compute_conditioned(self, *condition: Condition) -> NDArrayNumeric:
|
|
116
116
|
"""
|
|
117
|
-
|
|
117
|
+
Compute the program value, after setting the given condition.
|
|
118
|
+
|
|
119
|
+
Equivalent to::
|
|
120
|
+
|
|
118
121
|
self.set_condition(*condition)
|
|
119
122
|
return self.compute()
|
|
120
123
|
"""
|
ck/pgm_compiler/pgm_compiler.py
CHANGED
|
@@ -7,7 +7,7 @@ from ck.pgm_circuit import PGMCircuit
|
|
|
7
7
|
class PGMCompiler(Protocol):
|
|
8
8
|
def __call__(self, pgm: PGM, *, const_parameters: bool = True) -> PGMCircuit:
|
|
9
9
|
"""
|
|
10
|
-
A PGM compiler
|
|
10
|
+
A PGM compiler compiles a PGM to an arithmetic circuit.
|
|
11
11
|
|
|
12
12
|
Args:
|
|
13
13
|
pgm: The PGM to compile.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"/O2"
|
|
14
14
|
],
|
|
15
15
|
"include_dirs": [
|
|
16
|
-
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\build-env-
|
|
16
|
+
"C:\\Users\\runneradmin\\AppData\\Local\\Temp\\build-env-8cwjzb8_\\Lib\\site-packages\\numpy\\_core\\include"
|
|
17
17
|
],
|
|
18
18
|
"name": "ck.pgm_compiler.support.circuit_table._circuit_table_cy",
|
|
19
19
|
"sources": [
|
|
Binary file
|
|
@@ -192,7 +192,7 @@ def _make_spanning_tree_small_root(cost: NDArrayFloat64, clusters: List[Set[int]
|
|
|
192
192
|
Returns:
|
|
193
193
|
(spanning_tree, root_index)
|
|
194
194
|
|
|
195
|
-
spanning_tree: is a spanning tree represented as a list of nodes, the list is
|
|
195
|
+
spanning_tree: is a spanning tree represented as a list of nodes, the list is co-indexed with
|
|
196
196
|
the given cost matrix, each node is a list of children, each child being
|
|
197
197
|
represented as an index into the list of nodes.
|
|
198
198
|
|
|
@@ -219,7 +219,7 @@ def _make_spanning_tree_arbitrary_root(cost: NDArrayFloat64) -> Tuple[List[List[
|
|
|
219
219
|
Returns:
|
|
220
220
|
(spanning_tree, root_index)
|
|
221
221
|
|
|
222
|
-
spanning_tree: is a spanning tree represented as a list of nodes, the list is
|
|
222
|
+
spanning_tree: is a spanning tree represented as a list of nodes, the list is co-indexed with
|
|
223
223
|
the given cost matrix, each node is a list of children, each child being
|
|
224
224
|
represented as an index into the list of nodes.
|
|
225
225
|
|
|
@@ -243,7 +243,7 @@ def _make_spanning_tree_at_root(
|
|
|
243
243
|
root_custer_index: a nominated root cluster to be the root of the tree.
|
|
244
244
|
|
|
245
245
|
Returns:
|
|
246
|
-
a spanning tree represented as a list of nodes, the list is
|
|
246
|
+
a spanning tree represented as a list of nodes, the list is co-indexed with
|
|
247
247
|
the given cost matrix, each node is a list of children, each child being
|
|
248
248
|
represented as an index into the list of nodes. The root node is the
|
|
249
249
|
index `root_custer_index` as passed to this function.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Sequence, Iterable, Tuple, Dict
|
|
1
|
+
from typing import Sequence, Iterable, Tuple, Dict
|
|
2
2
|
|
|
3
3
|
from ck.pgm import RandomVariable, Indicator, Instance
|
|
4
4
|
from ck.probability.probability_space import ProbabilitySpace, Condition, check_condition
|
|
@@ -10,6 +10,8 @@ class EmpiricalProbabilitySpace(ProbabilitySpace):
|
|
|
10
10
|
Enable probabilistic queries over a sample from a sample space.
|
|
11
11
|
Note that this is not necessarily an efficient approach to calculating probabilities and statistics.
|
|
12
12
|
|
|
13
|
+
This probability space treats each of the samples as equally weighted.
|
|
14
|
+
|
|
13
15
|
Assumes:
|
|
14
16
|
len(sample) == len(rvs), for each sample in samples.
|
|
15
17
|
0 <= sample[i] < len(rvs[i]), for each sample in samples, for i in range(len(rvs)).
|
|
@@ -19,7 +21,7 @@ class EmpiricalProbabilitySpace(ProbabilitySpace):
|
|
|
19
21
|
samples: instances (state indexes) that are samples from the given rvs.
|
|
20
22
|
"""
|
|
21
23
|
self._rvs: Sequence[RandomVariable] = tuple(rvs)
|
|
22
|
-
self._samples:
|
|
24
|
+
self._samples: Sequence[Instance] = tuple(samples)
|
|
23
25
|
self._rv_idx_to_sample_idx: Dict[int, int] = {
|
|
24
26
|
rv.idx: i
|
|
25
27
|
for i, rv in enumerate(self._rvs)
|
|
@@ -47,4 +49,3 @@ class EmpiricalProbabilitySpace(ProbabilitySpace):
|
|
|
47
49
|
@property
|
|
48
50
|
def z(self) -> float:
|
|
49
51
|
return len(self._samples)
|
|
50
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
from typing import Sequence,
|
|
1
|
+
from typing import Sequence, Tuple
|
|
2
2
|
|
|
3
|
-
from ck.pgm import RandomVariable, Indicator,
|
|
3
|
+
from ck.pgm import RandomVariable, Indicator, PGM
|
|
4
4
|
from ck.probability.probability_space import ProbabilitySpace, Condition, check_condition
|
|
5
5
|
|
|
6
6
|
|
|
@@ -12,6 +12,11 @@ class PGMProbabilitySpace(ProbabilitySpace):
|
|
|
12
12
|
|
|
13
13
|
Args:
|
|
14
14
|
pgm: The PGM to query.
|
|
15
|
+
|
|
16
|
+
Warning:
|
|
17
|
+
The resulting probability space assumes that the value of the partition
|
|
18
|
+
function, `z`, remains constant for the lifetime of the PGM. If the value
|
|
19
|
+
changes, then probabilities and statistics will be incorrect.
|
|
15
20
|
"""
|
|
16
21
|
self._pgm = pgm
|
|
17
22
|
self._z = None
|
|
@@ -29,4 +34,3 @@ class PGMProbabilitySpace(ProbabilitySpace):
|
|
|
29
34
|
if self._z is None:
|
|
30
35
|
self._z = self._pgm.value_product_indicators()
|
|
31
36
|
return self._z
|
|
32
|
-
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"""
|
|
2
|
-
An abstract class for object providing probabilities.
|
|
3
|
-
"""
|
|
4
1
|
import math
|
|
5
2
|
from abc import ABC, abstractmethod
|
|
6
3
|
from itertools import chain
|
|
7
|
-
from typing import Sequence, Tuple, Iterable, Callable
|
|
4
|
+
from typing import Sequence, Tuple, Iterable, Callable, TypeAlias
|
|
8
5
|
|
|
9
6
|
import numpy as np
|
|
10
7
|
|
|
@@ -13,8 +10,19 @@ from ck.utils.iter_extras import combos as _combos
|
|
|
13
10
|
from ck.utils.map_set import MapSet
|
|
14
11
|
from ck.utils.np_extras import dtype_for_number_of_states, NDArrayFloat64, DTypeStates, NDArrayNumeric
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
Condition: TypeAlias = None | Indicator | Iterable[Indicator]
|
|
14
|
+
"""
|
|
15
|
+
Type defining a condition. A condition is logically a set of
|
|
16
|
+
indicators, each indicator representing a random variable being in some state.
|
|
17
|
+
|
|
18
|
+
If multiple indicators of the same random variable appear in
|
|
19
|
+
a condition, then they are interpreted as
|
|
20
|
+
a disjunction, otherwise indicators are interpreted as
|
|
21
|
+
a conjunction. E.g., the condition (X=0, Y=1, Y=3) means
|
|
22
|
+
X=0 and (Y=1 or Y=3).
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
_NAN: float = np.nan # Not-a-number (i.e., the result of an invalid calculation).
|
|
18
26
|
|
|
19
27
|
|
|
20
28
|
class ProbabilitySpace(ABC):
|
|
@@ -41,13 +49,9 @@ class ProbabilitySpace(ABC):
|
|
|
41
49
|
"""
|
|
42
50
|
Return the weight of instances matching the given condition.
|
|
43
51
|
|
|
44
|
-
If multiple indicators of the same random variable appear in
|
|
45
|
-
the parameter 'indicators' then they are interpreted as
|
|
46
|
-
a disjunction, otherwise indicators are interpreted as
|
|
47
|
-
a conjunction. E.g.: X=0, Y=1, Y=3 means X=0 and (Y=1 or Y=3)
|
|
48
|
-
|
|
49
52
|
Args:
|
|
50
|
-
condition:
|
|
53
|
+
condition: a condition restricting the instances that are
|
|
54
|
+
considered in the result.
|
|
51
55
|
"""
|
|
52
56
|
|
|
53
57
|
@property
|
|
@@ -56,6 +60,7 @@ class ProbabilitySpace(ABC):
|
|
|
56
60
|
"""
|
|
57
61
|
Return the summed weight of all instances.
|
|
58
62
|
This is equivalent to self.wmc(), with no arguments.
|
|
63
|
+
This is also known as the "partition function".
|
|
59
64
|
"""
|
|
60
65
|
|
|
61
66
|
def probability(self, *indicators: Indicator, condition: Condition = ()) -> float:
|
|
@@ -80,11 +85,11 @@ class ProbabilitySpace(ABC):
|
|
|
80
85
|
if len(condition) == 0:
|
|
81
86
|
z = self.z
|
|
82
87
|
if z <= 0:
|
|
83
|
-
return
|
|
88
|
+
return _NAN
|
|
84
89
|
else:
|
|
85
90
|
z = self.wmc(*condition)
|
|
86
91
|
if z <= 0:
|
|
87
|
-
return
|
|
92
|
+
return _NAN
|
|
88
93
|
|
|
89
94
|
# Combine the indicators with the condition
|
|
90
95
|
# If a variable is mentioned in both the indicators and condition, then
|
|
@@ -617,6 +622,6 @@ def _normalise_marginal(distribution: NDArrayFloat64) -> None:
|
|
|
617
622
|
"""
|
|
618
623
|
total = np.sum(distribution)
|
|
619
624
|
if total <= 0:
|
|
620
|
-
distribution[:] =
|
|
625
|
+
distribution[:] = _NAN
|
|
621
626
|
elif total != 1:
|
|
622
627
|
distribution /= total
|
ck/program/raw_program.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
|
-
from typing import Callable, Sequence
|
|
2
|
+
from typing import Callable, Sequence, TypeAlias
|
|
3
3
|
|
|
4
4
|
import numpy as np
|
|
5
5
|
import ctypes as ct
|
|
@@ -7,12 +7,14 @@ import ctypes as ct
|
|
|
7
7
|
|
|
8
8
|
from ck.utils.np_extras import NDArrayNumeric, DTypeNumeric
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
RawProgramFunction: TypeAlias = Callable[[ct.POINTER, ct.POINTER, ct.POINTER], None]
|
|
11
|
+
"""
|
|
12
|
+
RawProgramFunction is a function of three ctypes arrays, returning nothing.
|
|
13
|
+
Args:
|
|
14
|
+
[0]: input values,
|
|
15
|
+
[1]: temporary working memory,
|
|
16
|
+
[2]: output values.
|
|
17
|
+
"""
|
|
16
18
|
|
|
17
19
|
|
|
18
20
|
@dataclass
|
|
@@ -26,23 +28,28 @@ class RawProgram:
|
|
|
26
28
|
an efficient method for executing a program as buffers are reallocated for
|
|
27
29
|
each call. Alternatively, a `RawProgram` can be wrapped in a `ProgramBuffer`
|
|
28
30
|
for computationally efficient memory buffer reuse.
|
|
29
|
-
|
|
30
|
-
Fields:
|
|
31
|
-
function: is a function of three ctypes arrays, returning nothing.
|
|
32
|
-
dtype: the numpy data type of the array values.
|
|
33
|
-
number_of_vars: the number of input values (first function argument).
|
|
34
|
-
number_of_tmps: the number of working memory values (second function argument).
|
|
35
|
-
number_of_results: the number of result values (third function argument).
|
|
36
|
-
var_indices: maps the index of inputs (from 0 to self.number_of_vars - 1) to the index
|
|
37
|
-
of the corresponding circuit var.
|
|
38
31
|
"""
|
|
39
32
|
|
|
40
33
|
function: RawProgramFunction
|
|
34
|
+
"""a function of three ctypes arrays, returning nothing."""
|
|
35
|
+
|
|
41
36
|
dtype: DTypeNumeric
|
|
37
|
+
"""the numpy data type of the array values."""
|
|
38
|
+
|
|
42
39
|
number_of_vars: int
|
|
40
|
+
"""the number of input values (first function argument)."""
|
|
41
|
+
|
|
43
42
|
number_of_tmps: int
|
|
43
|
+
"""the number of working memory values (second function argument)."""
|
|
44
|
+
|
|
44
45
|
number_of_results: int
|
|
46
|
+
"""the number of result values (third function argument)."""
|
|
47
|
+
|
|
45
48
|
var_indices: Sequence[int]
|
|
49
|
+
"""
|
|
50
|
+
a map from the index of inputs (from 0 to self.number_of_vars - 1) to the index
|
|
51
|
+
of the corresponding circuit var.
|
|
52
|
+
"""
|
|
46
53
|
|
|
47
54
|
def __call__(self, var_values: NDArrayNumeric | Sequence[int | float] | int | float) -> NDArrayNumeric:
|
|
48
55
|
"""
|
ck/sampling/sampler_support.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from itertools import count
|
|
3
|
-
from typing import Callable, Sequence, Optional, Set, Tuple, Dict, Collection
|
|
3
|
+
from typing import Callable, Sequence, Optional, Set, Tuple, Dict, Collection, TypeAlias
|
|
4
4
|
|
|
5
5
|
from ck.pgm import Instance, RandomVariable, Indicator
|
|
6
6
|
from ck.pgm_circuit.program_with_slotmap import ProgramWithSlotmap
|
|
@@ -10,10 +10,12 @@ from ck.utils.map_set import MapSet
|
|
|
10
10
|
from ck.utils.np_extras import NDArrayStates, NDArrayNumeric
|
|
11
11
|
from ck.utils.random_extras import Random
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
YieldF: TypeAlias = Callable[[NDArrayStates], int] | Callable[[NDArrayStates], Instance]
|
|
14
|
+
"""
|
|
15
|
+
Type of a yield function. Support for a sampler.
|
|
16
|
+
A yield function may be used to implement a sampler's iterator, thus
|
|
17
|
+
it provides an Instance or single state index.
|
|
18
|
+
"""
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
@dataclass
|
ck/utils/iter_extras.py
CHANGED
|
@@ -33,11 +33,12 @@ def combos(list_of_lists: Sequence[Sequence[_T]], flip=False) -> Iterable[Tuple[
|
|
|
33
33
|
Iterate over all combinations of taking one element from each of the lists.
|
|
34
34
|
|
|
35
35
|
The order of results has the first element changing most rapidly.
|
|
36
|
-
For example, given [[1,2,3],[4,5],[6,7]], combos yields the following
|
|
36
|
+
For example, given [[1,2,3],[4,5],[6,7]], combos yields the following::
|
|
37
|
+
|
|
37
38
|
(1,4,6), (2,4,6), (3,4,6), (1,5,6), (2,5,6), (3,5,6),
|
|
38
39
|
(1,4,7), (2,4,7), (3,4,7), (1,5,7), (2,5,7), (3,5,7).
|
|
39
40
|
|
|
40
|
-
If flip, then the last changes most rapidly.
|
|
41
|
+
If `flip` is true, then the last changes most rapidly.
|
|
41
42
|
"""
|
|
42
43
|
num = len(list_of_lists)
|
|
43
44
|
if num == 0:
|
ck/utils/local_config.py
CHANGED
|
@@ -12,10 +12,13 @@ other getter methods wrap `get`.
|
|
|
12
12
|
|
|
13
13
|
The `get` method will search for a value for a requested variable
|
|
14
14
|
using the following steps.
|
|
15
|
+
|
|
15
16
|
1) Check the `programmatic config` which is a dictionary that
|
|
16
|
-
|
|
17
|
+
can be directly updated.
|
|
18
|
+
|
|
17
19
|
2) Check the PYTHONPATH for a module called `config` (i.e., a
|
|
18
|
-
|
|
20
|
+
`config.py` file) for global variables defined in that module.
|
|
21
|
+
|
|
19
22
|
3) Check the system environment variables (`os.environ`).
|
|
20
23
|
|
|
21
24
|
Variable names must be a valid Python identifier. Only valid
|
|
@@ -171,8 +174,9 @@ def get_params(
|
|
|
171
174
|
are returned as a single string with `delim` as the delimiter. If
|
|
172
175
|
`delim` is not None then the default value for `sep` is '='.
|
|
173
176
|
|
|
174
|
-
For example, assume config.py contains: ABC = 123 and DEF = 456
|
|
175
|
-
then
|
|
177
|
+
For example, assume `config.py` contains: `ABC = 123` and `DEF = 456`,
|
|
178
|
+
then::
|
|
179
|
+
|
|
176
180
|
get_params('ABC') -> ('ABC', 123)
|
|
177
181
|
get_params('ABC', 'DEF') -> ('ABC', 123), ('DEF', 456)
|
|
178
182
|
get_params('ABC', sep='=') = 'ABC=123'
|
|
@@ -180,10 +184,14 @@ def get_params(
|
|
|
180
184
|
get_params('ABC;DEF', delim=';') = 'ABC=123;DEF=456'
|
|
181
185
|
get_params('ABC;DEF', sep='==', delim=';') = 'ABC==123;DEF==456'
|
|
182
186
|
|
|
183
|
-
:
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
+
Args:
|
|
188
|
+
keys: the names of variables to access.
|
|
189
|
+
sep: the separator character between {variable} and {value}.
|
|
190
|
+
delim: the delimiter character between key-value pairs.
|
|
191
|
+
config: a Config instance to update. Default is the global config.
|
|
192
|
+
|
|
193
|
+
Returns:
|
|
194
|
+
the requested parameter values.
|
|
187
195
|
"""
|
|
188
196
|
if delim is not None:
|
|
189
197
|
keys = flatten(key.split(delim) for key in keys)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: compiled-knowledge
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.0a25
|
|
4
4
|
Summary: A Python package for compiling and querying discrete probabilistic graphical models.
|
|
5
5
|
Author-email: Barry Drake <barry@compiledknowledge.org>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
ck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
ck/pgm.py,sha256=
|
|
2
|
+
ck/pgm.py,sha256=DyCDjmqbEUqMh5qCBmWxwGdGefMYA3m574rsuclu7Zk,120987
|
|
3
3
|
ck/circuit/__init__.py,sha256=klUR7OVESf53-8Ho4f32clHFsR2SOz4XgwZzfDlms88,418
|
|
4
|
-
ck/circuit/_circuit_cy.c,sha256=
|
|
5
|
-
ck/circuit/_circuit_cy.cp312-win32.pyd,sha256=
|
|
4
|
+
ck/circuit/_circuit_cy.c,sha256=N0ck098MdBsR3aCRgp9Gtkyf5-IPQQDN6rccUJLRVVU,1741715
|
|
5
|
+
ck/circuit/_circuit_cy.cp312-win32.pyd,sha256=PV3MI9ROy7ibyVjW1bV8ey6fsDd-20BXbLnAaQziTJs,221184
|
|
6
6
|
ck/circuit/_circuit_cy.pxd,sha256=F1WU4KuX_knXQX-hwNKoHsoUK3fJLbLOxEnomWMJFpI,1057
|
|
7
7
|
ck/circuit/_circuit_cy.pyx,sha256=TIjqsdyN_IzOm9XQw26kEURpL6GSL1kJO3K-UUlkbQc,27763
|
|
8
8
|
ck/circuit/_circuit_py.py,sha256=gQZoEphxut2UyBL0ZqmNc8KlNBSMST_VOCqOpDMIRSM,28331
|
|
9
|
-
ck/circuit/tmp_const.py,sha256=
|
|
9
|
+
ck/circuit/tmp_const.py,sha256=9DVKsAqwNb3BrmaLoxrBoVmFqQ3nacz3wIx7k3qe8SE,2375
|
|
10
10
|
ck/circuit_compiler/__init__.py,sha256=T0Igyp5jPgnIXv4oRcIYhmsOdcNOb3L4Za6dK6eYk7g,132
|
|
11
|
-
ck/circuit_compiler/circuit_compiler.py,sha256=
|
|
11
|
+
ck/circuit_compiler/circuit_compiler.py,sha256=xujLh120_G7AGJpv-IZTI4S1TpNf4gzHilaqvlKvfXA,1148
|
|
12
12
|
ck/circuit_compiler/interpret_compiler.py,sha256=KMzLzIV-BU5l8GQ2833kjios4sbGSVUm4ero7MEYvVk,8786
|
|
13
13
|
ck/circuit_compiler/llvm_compiler.py,sha256=6RHUCVWCOgt3ZNyjRTl2Z2npYJMWyAFJVAIc5SAx2mY,14023
|
|
14
14
|
ck/circuit_compiler/llvm_vm_compiler.py,sha256=XJhiAZmGMRRz49XUfng9lgETxVw6NgD6XCI0H3fX-1E,22200
|
|
15
15
|
ck/circuit_compiler/named_circuit_compilers.py,sha256=snlD3JnhAZC-atKpf5GD0v4CGdvj2_ZhCZ3O-tsxzxc,2284
|
|
16
16
|
ck/circuit_compiler/cython_vm_compiler/__init__.py,sha256=pEAwTleuZgdYhTAQMea2f9YsFK54eoNbZSbrWkW8aeE,49
|
|
17
|
-
ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=
|
|
18
|
-
ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd,sha256=
|
|
17
|
+
ck/circuit_compiler/cython_vm_compiler/_compiler.c,sha256=bg0co62xlao9zvUM5G1tCEoMVSNmfjKhIVbVzuN8MFM,871325
|
|
18
|
+
ck/circuit_compiler/cython_vm_compiler/_compiler.cp312-win32.pyd,sha256=nVQZv835QsMwJ1sgB_wXX7Pzld434O9cVzbqv7Bymtg,91648
|
|
19
19
|
ck/circuit_compiler/cython_vm_compiler/_compiler.pyx,sha256=550r0AkOh8ZuuTRy3e6Aq-YqBQ82EKcap8e6f3zlEuM,13278
|
|
20
20
|
ck/circuit_compiler/cython_vm_compiler/cython_vm_compiler.py,sha256=3Q-HCyA7VWFoXS9gn-k4LXedzqHPvdFNvWHfDcKYv6s,4473
|
|
21
21
|
ck/circuit_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
22
|
ck/circuit_compiler/support/input_vars.py,sha256=x6krN6sW9A-vZTteY4M4on_0vS4ChaaCcmnXcnQ4y0s,4812
|
|
23
|
-
ck/circuit_compiler/support/llvm_ir_function.py,sha256=
|
|
23
|
+
ck/circuit_compiler/support/llvm_ir_function.py,sha256=07IUmx4bGReDu-BsUhJEWM_onm8NmsHwQzJan1rnAFE,8572
|
|
24
24
|
ck/circuit_compiler/support/circuit_analyser/__init__.py,sha256=RbyIObAAb-w0Ky4fB198xAfxTh2doquN9ez68SZSZgo,536
|
|
25
|
-
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c,sha256=
|
|
26
|
-
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd,sha256=
|
|
25
|
+
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.c,sha256=uhRe4nQzPL2VAhDz3PsG-hja8MV7S6FwgfvncMNOhhQ,448751
|
|
26
|
+
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.cp312-win32.pyd,sha256=3P84VK5UC0odf6HyY8l3m3kGhNa3uCnefrPXdNbJO40,47104
|
|
27
27
|
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_cy.pyx,sha256=ctDOHOjnUhdsR_XHBrgchFVTImLhsEUjU3cqkP-GdF8,3331
|
|
28
28
|
ck/circuit_compiler/support/circuit_analyser/_circuit_analyser_py.py,sha256=eWjc2B946LeSzcGa9PyI4XQvlx_B1KPEiQuM6OOFjjQ,3086
|
|
29
29
|
ck/example/__init__.py,sha256=BXVxvTcl3tqgai-xJiGQIaG_ChlpPRdfWg985MQ7dwM,1744
|
|
@@ -36,7 +36,7 @@ ck/example/chain.py,sha256=AAqLeEUzZYir3fqBl9bzY1SZKW3HLT_FJPzXTFSOvuU,1351
|
|
|
36
36
|
ck/example/child.py,sha256=IkYgd3LBSQI8S3-hwEWcusHuH5MjqGSKNCl0NJnw7O4,7811
|
|
37
37
|
ck/example/clique.py,sha256=auWWzCV3s-r6ctdPKGcb_bulMymU2pEUuKJsqE1Onm4,1088
|
|
38
38
|
ck/example/cnf_pgm.py,sha256=vzr36kokWutGgbfmsI0ZDIgdmWIsUegnO49EUYjgpVQ,1283
|
|
39
|
-
ck/example/diamond_square.py,sha256=
|
|
39
|
+
ck/example/diamond_square.py,sha256=IkHuzn_04SKXk2a9YRrxmyr5hxyL7CY3-R-GLbWq-P8,2795
|
|
40
40
|
ck/example/earthquake.py,sha256=KuvHciKlidAJAxgti07BS8XoVIXHJth3khvQkP8tGls,1289
|
|
41
41
|
ck/example/empty.py,sha256=tyg8Z8JIwTMR2C8oXD81pzAzvKpHRBX21ocWLdAUfE8,182
|
|
42
42
|
ck/example/hailfinder.py,sha256=KMT9VobwFGWnw0JRymQTkd35HAIRFQhXnoN87mlhCYQ,39405
|
|
@@ -55,13 +55,13 @@ ck/example/star.py,sha256=3vf6xRl4MxRlhj3MGPfwKk3ipSVym-qLYJUDkiUqfe0,1578
|
|
|
55
55
|
ck/example/stress.py,sha256=ENeOKFVFMa8WkbhhCLt2CIeYdPmHaiU_FOGIy80RYpI,1998
|
|
56
56
|
ck/example/student.py,sha256=XqUIX0DxR0a3G1sqK4MM3V_pvUm3IQ5aY2hpbo_BMlo,1333
|
|
57
57
|
ck/example/survey.py,sha256=KrqDgzU1V-yJHy4BEAAJQatqH9YAy8acrp6rVYAqQag,1611
|
|
58
|
-
ck/example/triangle_square.py,sha256=
|
|
59
|
-
ck/example/truss.py,sha256=
|
|
58
|
+
ck/example/triangle_square.py,sha256=WQpFrIm8h51ZYNZ9kAtoq3XamUNiVGKCGAsMdSv5urI,2153
|
|
59
|
+
ck/example/truss.py,sha256=w1DNacSg2HyEz_m38t__hdl3zqzKX5pf-tc8M9PLRGo,1979
|
|
60
60
|
ck/in_out/__init__.py,sha256=PKhy5qeUrmmUaECSQIkoLQ2McAfQFSwB06vQZk3vpmo,112
|
|
61
61
|
ck/in_out/parse_ace_lmap.py,sha256=EZnSLhsZwdPnk2Fbe2El0YXYqvjd_cBh7PZro7ZeR04,7891
|
|
62
62
|
ck/in_out/parse_ace_nnf.py,sha256=zO3smkKKiUy_g0S7WeNyhEaZu5x65wuSNIDWlA3YU_g,13350
|
|
63
|
-
ck/in_out/parse_net.py,sha256=
|
|
64
|
-
ck/in_out/parser_utils.py,sha256=
|
|
63
|
+
ck/in_out/parse_net.py,sha256=ZeHgMXBYUkboMFkbs0y7Px4Ngbooi000obl_wFfym7k,14307
|
|
64
|
+
ck/in_out/parser_utils.py,sha256=5OnvBKGGQbbc9ez8GwwudX2BFYTCF4gbkj6t2f73Esk,5567
|
|
65
65
|
ck/in_out/pgm_pickle.py,sha256=i5LYxez356we7MzHwsQBmFdOvBJOLVKBp4u4lSwBOjU,1004
|
|
66
66
|
ck/in_out/pgm_python.py,sha256=c2-yxXxJ4fF00gUD5Lvt_CSE07EgwYeHW3nSNXunEvc,10092
|
|
67
67
|
ck/in_out/render_bugs.py,sha256=6YBhMIq3VRKFS0XqHbaWj6iz1io7O9icW23kukF_Cic,3383
|
|
@@ -69,9 +69,9 @@ ck/in_out/render_net.py,sha256=LpQYAo_tF45vMIcHW1Ir5Zd_Ot69SPAK-e1Tl_6Ygo0,5147
|
|
|
69
69
|
ck/in_out/render_pomegranate.py,sha256=gGvXyX9vOoilGIIL3rsMB07gERMU-12XPsttfSb4xLI,5764
|
|
70
70
|
ck/pgm_circuit/__init__.py,sha256=B0CCjNMnPzrd0YiOEFdK4JzmRCvFIGJi3RJQ5Vg6fqA,37
|
|
71
71
|
ck/pgm_circuit/marginals_program.py,sha256=DUvSND3ozQuBCZcmIsgwZ4w_IWCVV7O31Pm4PJ7ZDok,14786
|
|
72
|
-
ck/pgm_circuit/mpe_program.py,sha256
|
|
73
|
-
ck/pgm_circuit/pgm_circuit.py,sha256=
|
|
74
|
-
ck/pgm_circuit/program_with_slotmap.py,sha256=
|
|
72
|
+
ck/pgm_circuit/mpe_program.py,sha256=-8fcb-txUiKo2bPKhApl_GD7U_gREC5SvU_D5sQe9sg,10226
|
|
73
|
+
ck/pgm_circuit/pgm_circuit.py,sha256=DLjQmaVuAQ0YF6kCi15vDRiydLCJmufeo0hQJndqv2Y,3375
|
|
74
|
+
ck/pgm_circuit/program_with_slotmap.py,sha256=ZQeWu32ebgmLZb6GN_8Qp_9ZxARZoPkKDeVkgEYVhrU,9035
|
|
75
75
|
ck/pgm_circuit/slot_map.py,sha256=T4nBweoiivEdBDhYZ6GWpOXqSusRbp3vrSbCTyP1qpI,857
|
|
76
76
|
ck/pgm_circuit/target_marginals_program.py,sha256=x4YQM-hUQRo2OLxodKJVOAKxqNlxmiDl9nGbbknypkY,3768
|
|
77
77
|
ck/pgm_circuit/wmc_program.py,sha256=WtABU74FOCCJuKRCoDL4CyZ4CJXFmt9RSxiNNHsOhRY,12699
|
|
@@ -80,7 +80,7 @@ ck/pgm_circuit/support/compile_circuit.py,sha256=krsTlZxLk_RHZL0qoRVAjyW78Zk2HZi
|
|
|
80
80
|
ck/pgm_compiler/__init__.py,sha256=XCK1AWBBB9UYi6kbFnxMFzBL9a25EWfHnz_yn3ZKYuM,112
|
|
81
81
|
ck/pgm_compiler/factor_elimination.py,sha256=6iMh_NdOQh4D5cuo8q1y7yUuj3glnM9I0OJ9vlJAGqU,13807
|
|
82
82
|
ck/pgm_compiler/named_pgm_compilers.py,sha256=sI-dwF7mht6aEuVfsN3sIO_4oH7RrjIt5x9ZlBwVQys,3376
|
|
83
|
-
ck/pgm_compiler/pgm_compiler.py,sha256=
|
|
83
|
+
ck/pgm_compiler/pgm_compiler.py,sha256=rhbICo7eAY9_dlGfg937zZal7hoc4slTvhxsob-6h_E,622
|
|
84
84
|
ck/pgm_compiler/recursive_conditioning.py,sha256=U0NdIns8yLQtYR_MOf1w__CChpOMDlgRCL2nFRhtnzU,7936
|
|
85
85
|
ck/pgm_compiler/variable_elimination.py,sha256=irAZ5b0vRGL_WGq7UrfQpMXhYBZO5YI2U_jf1-YV92Q,3547
|
|
86
86
|
ck/pgm_compiler/ace/__init__.py,sha256=Rud883H68yz2Dw-NkiiTPC6rmii6hHKMHbtiU6_liug,97
|
|
@@ -88,34 +88,34 @@ ck/pgm_compiler/ace/ace.py,sha256=iyDacqArXW1cVP6tBabxRmmLWIHabuPkCoq2tWBm2ww,10
|
|
|
88
88
|
ck/pgm_compiler/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
89
|
ck/pgm_compiler/support/clusters.py,sha256=BzMmPWXBEXPvp9dZAuzA19Gbt4j9d-tdQuFbfwXD6MU,21504
|
|
90
90
|
ck/pgm_compiler/support/factor_tables.py,sha256=tV9qE2zC8iwEQxTuXE6qiE6lmMpz4-Vc80_w5woo1tk,15556
|
|
91
|
-
ck/pgm_compiler/support/join_tree.py,sha256=
|
|
91
|
+
ck/pgm_compiler/support/join_tree.py,sha256=Chkyyo--ChgWEsDqTh8RCxPN7Z1NyvL--GjTC4ONvkY,12897
|
|
92
92
|
ck/pgm_compiler/support/named_compiler_maker.py,sha256=g2MLnlkWXkISHL6dh23EY53SptTo7-itfuZogSpMdB8,1420
|
|
93
93
|
ck/pgm_compiler/support/circuit_table/__init__.py,sha256=yJ05NvuNE9j0E_QnjDzHYfLqcHn5TdOleEpG3wSRgXQ,579
|
|
94
|
-
ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c,sha256=
|
|
95
|
-
ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd,sha256=
|
|
94
|
+
ck/pgm_compiler/support/circuit_table/_circuit_table_cy.c,sha256=8M2f5eQLd2cOk2au7IRML7Lh1h_K_X9LAGC6y5IBIvc,730350
|
|
95
|
+
ck/pgm_compiler/support/circuit_table/_circuit_table_cy.cp312-win32.pyd,sha256=o3WXoA4F_Wi0bFaSXs_SDaL4qVhYZ6O7l_Doftvo44A,87040
|
|
96
96
|
ck/pgm_compiler/support/circuit_table/_circuit_table_cy.pyx,sha256=rVO1yxjZmZ6yv5s0zKq4Ji9WYrDuYTZsRG_zeF1_1xE,12015
|
|
97
97
|
ck/pgm_compiler/support/circuit_table/_circuit_table_py.py,sha256=h6xPYGBSy6XHQBFLPD2D1-V7Kiw9utY68nWrcGRMEg4,11287
|
|
98
98
|
ck/probability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
-
ck/probability/empirical_probability_space.py,sha256=
|
|
100
|
-
ck/probability/pgm_probability_space.py,sha256=
|
|
101
|
-
ck/probability/probability_space.py,sha256=
|
|
99
|
+
ck/probability/empirical_probability_space.py,sha256=aLUdmN98KpmgZjuO4QXqcMkK9GmF-Btvoj1SwK_gSQI,2029
|
|
100
|
+
ck/probability/pgm_probability_space.py,sha256=Slmp0mwDMoVh_86Y8L1QjAQsneazcK2VGQcRW8O2C3M,1267
|
|
101
|
+
ck/probability/probability_space.py,sha256=RXNm2gIVcabjbr6WsNebZMKqL8LY32RRaRMGHE2cU6o,26109
|
|
102
102
|
ck/program/__init__.py,sha256=Ss9-0eqsGxCGloD6liH-0iqBG5Q3vPRF4XCw2hkDJ0M,110
|
|
103
103
|
ck/program/program.py,sha256=gDJ5Q2kXZuaoHboa9yNTg0tQH9S-Gmw0BRx6PPV28pU,4184
|
|
104
104
|
ck/program/program_buffer.py,sha256=1fiUcT7sqyr4vu8jXzK3ZsrgURFhWMdm6hr2BeS9ONA,5665
|
|
105
|
-
ck/program/raw_program.py,sha256=
|
|
105
|
+
ck/program/raw_program.py,sha256=3_XXudmdg_z9bwoul7pdrvaWgxRONjveXgPR1CK4hos,4212
|
|
106
106
|
ck/sampling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
107
|
ck/sampling/forward_sampler.py,sha256=pTtpaH_ONH67G4P-aJ1p8YZSaXr4TTD6pj3ZEI2y7KM,8348
|
|
108
108
|
ck/sampling/marginals_direct_sampler.py,sha256=p1jDr1stG2Hjay3D8hILezW-5YZTX1p3odUcJDAI-OQ,4466
|
|
109
109
|
ck/sampling/sampler.py,sha256=qhfguy8rnVQBVVXhJylvh-8Kq7rfHW62a3DEtv9v7Xc,2306
|
|
110
|
-
ck/sampling/sampler_support.py,sha256=
|
|
110
|
+
ck/sampling/sampler_support.py,sha256=q2osk-o6iWfsMXUhzfv1spPtyB9WQlQAlnuclLyOSQQ,9768
|
|
111
111
|
ck/sampling/uniform_sampler.py,sha256=NCN1T77v4g4hsdNgIsZDxHBndfj4AghLSk8WKQt_2a0,2586
|
|
112
112
|
ck/sampling/wmc_direct_sampler.py,sha256=7qiz-bRlQ59ZBJmg0bEG0y63pXTVXNVx4d410BGhnJg,7265
|
|
113
113
|
ck/sampling/wmc_gibbs_sampler.py,sha256=GMKVW2AVtsWtP6vxE3Y2dy-dKr7GoO_vLEA9eC304fo,6567
|
|
114
114
|
ck/sampling/wmc_metropolis_sampler.py,sha256=PRv7wtPZz7BcwN8iArsykVwqgY77v5km7rXcawFAUPQ,6470
|
|
115
115
|
ck/sampling/wmc_rejection_sampler.py,sha256=cd0VONZf-oa491RRKfwT2LakQs0o_slgPCes8AOvSNc,4897
|
|
116
116
|
ck/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
117
|
-
ck/utils/iter_extras.py,sha256=
|
|
118
|
-
ck/utils/local_config.py,sha256
|
|
117
|
+
ck/utils/iter_extras.py,sha256=4OwHqOsChnJzTwejqU6Dl4NQX0OOd37ThOltx1NlBUc,4492
|
|
118
|
+
ck/utils/local_config.py,sha256=U-Yt4XW5kjXQmF0X6IPJqq0RgSPWeitA7ggomjpG6HM,9600
|
|
119
119
|
ck/utils/map_list.py,sha256=T2OpjI7eDgC4geCtW_FsEr6ryiePOnKZwfDahB63zfA,3847
|
|
120
120
|
ck/utils/map_set.py,sha256=BLu9BO3FCtzZlZ9MfP9STtIdQ4Me8-QKdwB7o15y7f8,3809
|
|
121
121
|
ck/utils/np_extras.py,sha256=Dt9Y-afUYIf_z5PBQOzh22pg8jRt-DKm2n5jJ6APIdA,1752
|
|
@@ -175,8 +175,8 @@ ck_demos/utils/compare.py,sha256=Bwjpflevl4nusfA0zp96rInaVKFGuhC5Xv7HzA1Fobk,508
|
|
|
175
175
|
ck_demos/utils/convert_network.py,sha256=TSKj8q7L7J5rhrvwjaDkdYZ0Sg8vV5FRL_vCanX1CQw,1363
|
|
176
176
|
ck_demos/utils/sample_model.py,sha256=in-Nlv-iuNIu6y9fDuMyo7nzgimBuTAnCWcpnVqvqDQ,8839
|
|
177
177
|
ck_demos/utils/stop_watch.py,sha256=VzXHRWx0V8vPSD-bLgLlEYkCkR2FA0-KmM_pfKx-Pxo,13205
|
|
178
|
-
compiled_knowledge-4.0.
|
|
179
|
-
compiled_knowledge-4.0.
|
|
180
|
-
compiled_knowledge-4.0.
|
|
181
|
-
compiled_knowledge-4.0.
|
|
182
|
-
compiled_knowledge-4.0.
|
|
178
|
+
compiled_knowledge-4.0.0a25.dist-info/licenses/LICENSE.txt,sha256=uMYx7tmroEKNASizbCOwPveMQsD5UErLDC1_SANmNn8,1089
|
|
179
|
+
compiled_knowledge-4.0.0a25.dist-info/METADATA,sha256=ZO8hdsBltgQQkeXRlEg3WZgsLvjpBrz5CO9-m-64PE0,1838
|
|
180
|
+
compiled_knowledge-4.0.0a25.dist-info/WHEEL,sha256=LwxTQZ0gyDP_uaeNCLm-ZIktY9hv6x0e22Q-hgFd-po,97
|
|
181
|
+
compiled_knowledge-4.0.0a25.dist-info/top_level.txt,sha256=Cf8DAfd2vcnLiA7HlxoduOzV0Q-8surE3kzX8P9qdks,12
|
|
182
|
+
compiled_knowledge-4.0.0a25.dist-info/RECORD,,
|
|
File without changes
|
{compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/licenses/LICENSE.txt
RENAMED
|
File without changes
|
{compiled_knowledge-4.0.0a23.dist-info → compiled_knowledge-4.0.0a25.dist-info}/top_level.txt
RENAMED
|
File without changes
|