InfluenceDiffusion 0.0.16__tar.gz → 0.0.17__tar.gz
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.
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Inference.py +14 -2
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/utils.py +0 -14
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/PKG-INFO +1 -1
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/PKG-INFO +1 -1
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/setup.py +1 -1
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Graph.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Trace.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/__init__.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/BaseWeightEstimator.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/CDFEstimation.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/EMEstimation.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/OptimEstimation.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/__init__.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/influence_models.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/plot_utils.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/weight_samplers.py +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/SOURCES.txt +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/dependency_links.txt +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/requires.txt +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/top_level.txt +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/LICENSE +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/README.md +0 -0
- {influencediffusion-0.0.16 → influencediffusion-0.0.17}/setup.cfg +0 -0
|
@@ -4,9 +4,9 @@ import numpy as np
|
|
|
4
4
|
from typing import Dict, Callable
|
|
5
5
|
from functools import partial
|
|
6
6
|
from scipy.stats import norm
|
|
7
|
+
from scipy.stats._distn_infrastructure import rv_frozen
|
|
7
8
|
|
|
8
9
|
from .estimation_models.OptimEstimation import GLTWeightEstimator
|
|
9
|
-
from .utils import make_jax_cdf
|
|
10
10
|
|
|
11
11
|
__all__ = ["GLTInferenceModule"]
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ class GLTInferenceModule:
|
|
|
15
15
|
def __init__(self, estimator: GLTWeightEstimator, vertex_2_jax_cdf: Dict[int, Callable] = None):
|
|
16
16
|
self.estimator = estimator
|
|
17
17
|
if vertex_2_jax_cdf is None:
|
|
18
|
-
self.vertex_2_jax_cdf = {vertex:
|
|
18
|
+
self.vertex_2_jax_cdf = {vertex: self._make_jax_cdf(distrib)
|
|
19
19
|
for vertex, distrib in self.estimator.vertex_2_distrib.items()}
|
|
20
20
|
else:
|
|
21
21
|
self.vertex_2_jax_cdf = vertex_2_jax_cdf
|
|
@@ -41,6 +41,18 @@ class GLTInferenceModule:
|
|
|
41
41
|
masks_tm1 = jnp.vstack([tm1_active_masks, tm1_failed_masks], dtype=jnp.float32)
|
|
42
42
|
return ys, masks_t, masks_tm1
|
|
43
43
|
|
|
44
|
+
@staticmethod
|
|
45
|
+
def _make_jax_cdf(distrib: rv_frozen):
|
|
46
|
+
name = distrib.dist.name
|
|
47
|
+
args = distrib.args
|
|
48
|
+
kwargs = distrib.kwds
|
|
49
|
+
local_dic = {}
|
|
50
|
+
exec(f"jax_distrib=jax.scipy.stats.{name}", None, local_dic)
|
|
51
|
+
jax_distrib = local_dic["jax_distrib"]
|
|
52
|
+
if name == "expon":
|
|
53
|
+
return lambda x: 1. - jnp.exp(-x)
|
|
54
|
+
return lambda x: jax_distrib.cdf(x, *args, **kwargs)
|
|
55
|
+
|
|
44
56
|
@staticmethod
|
|
45
57
|
def _vertex_ll(parent_weights, cdf, ys, masks_t, masks_tm1, eps=1e-6):
|
|
46
58
|
F_t = cdf(masks_t @ parent_weights)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
from typing import Iterable, Set
|
|
3
|
-
from scipy.stats._distn_infrastructure import rv_frozen
|
|
4
|
-
import jax.numpy as jnp
|
|
5
3
|
|
|
6
4
|
|
|
7
5
|
def multiple_union(set_list: Iterable[Set]):
|
|
@@ -29,15 +27,3 @@ def random_vector_inside_simplex(dim: int, ub: float = 1.):
|
|
|
29
27
|
def random_vector_on_simplex(dim: int, ub: float = 1.):
|
|
30
28
|
X = random_vector_inside_simplex(dim=dim, ub=1)
|
|
31
29
|
return X / np.sum(X) * ub
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def make_jax_cdf(distrib: rv_frozen):
|
|
35
|
-
name = distrib.dist.name
|
|
36
|
-
args = distrib.args
|
|
37
|
-
kwargs = distrib.kwds
|
|
38
|
-
local_dic = {}
|
|
39
|
-
exec(f"jax_distrib=jax.scipy.stats.{name}", None, local_dic)
|
|
40
|
-
jax_distrib = local_dic["jax_distrib"]
|
|
41
|
-
if name == "expon":
|
|
42
|
-
return lambda x: 1. - jnp.exp(-x)
|
|
43
|
-
return lambda x: jax_distrib.cdf(x, *args, **kwargs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/influence_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/weight_samplers.py
RENAMED
|
File without changes
|
{influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/requires.txt
RENAMED
|
File without changes
|
{influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|