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.
Files changed (23) hide show
  1. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Inference.py +14 -2
  2. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/utils.py +0 -14
  3. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/PKG-INFO +1 -1
  4. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/PKG-INFO +1 -1
  5. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/setup.py +1 -1
  6. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Graph.py +0 -0
  7. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/Trace.py +0 -0
  8. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/__init__.py +0 -0
  9. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/BaseWeightEstimator.py +0 -0
  10. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/CDFEstimation.py +0 -0
  11. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/EMEstimation.py +0 -0
  12. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/OptimEstimation.py +0 -0
  13. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/estimation_models/__init__.py +0 -0
  14. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/influence_models.py +0 -0
  15. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/plot_utils.py +0 -0
  16. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion/weight_samplers.py +0 -0
  17. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/SOURCES.txt +0 -0
  18. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/dependency_links.txt +0 -0
  19. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/requires.txt +0 -0
  20. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/InfluenceDiffusion.egg-info/top_level.txt +0 -0
  21. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/LICENSE +0 -0
  22. {influencediffusion-0.0.16 → influencediffusion-0.0.17}/README.md +0 -0
  23. {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: make_jax_cdf(distrib)
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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: InfluenceDiffusion
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary: InfluenceDiffusion package
5
5
  Author: Alexander Kagan
6
6
  Author-email: <amkagan@umich.edu>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: InfluenceDiffusion
3
- Version: 0.0.16
3
+ Version: 0.0.17
4
4
  Summary: InfluenceDiffusion package
5
5
  Author: Alexander Kagan
6
6
  Author-email: <amkagan@umich.edu>
@@ -3,7 +3,7 @@ from pathlib import Path
3
3
  this_directory = Path(__file__).parent
4
4
  LONG_DESCRIPTION = (this_directory / "README.md").read_text()
5
5
 
6
- VERSION = '0.0.16'
6
+ VERSION = '0.0.17'
7
7
  DESCRIPTION = 'InfluenceDiffusion package'
8
8
 
9
9
  setup(