From d24cc30bd0e552747768428fc3ac655e38b88d4e Mon Sep 17 00:00:00 2001 From: Martin Reinecke <martin@mpa-garching.mpg.de> Date: Mon, 2 Jul 2018 14:40:45 +0200 Subject: [PATCH] more MPI fixes --- demos/getting_started_1.py | 2 +- nifty5/library/point_sources.py | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/demos/getting_started_1.py b/demos/getting_started_1.py index 54399816f..fa3e88469 100644 --- a/demos/getting_started_1.py +++ b/demos/getting_started_1.py @@ -14,7 +14,7 @@ def make_chess_mask(): def make_random_mask(): mask = ift.from_random('pm1', position_space) mask = (mask+1)/2 - return mask.val + return mask.to_global_data() if __name__ == '__main__': diff --git a/nifty5/library/point_sources.py b/nifty5/library/point_sources.py index eb7e4325a..9e97ca502 100644 --- a/nifty5/library/point_sources.py +++ b/nifty5/library/point_sources.py @@ -21,40 +21,40 @@ class PointSources(Model): @property @memo def value(self): - points = self.position['points'].to_global_data() + points = self.position['points'].local_data points = np.clip(points, None, 8.2) - points = Field(self.position['points'].domain, points) + points = Field.from_local_data(self.position['points'].domain, points) return self.IG(points, self._alpha, self._q) @property @memo def gradient(self): - u = self.position['points'] - inner = norm.pdf(u.val) - outer_inv = invgamma.pdf(invgamma.ppf(norm.cdf(u.val), + u = self.position['points'].local_data + inner = norm.pdf(u) + outer_inv = invgamma.pdf(invgamma.ppf(norm.cdf(u), self._alpha, scale=self._q), self._alpha, scale=self._q) # FIXME outer_inv = np.clip(outer_inv, 1e-20, None) outer = 1/outer_inv - grad = Field(u.domain, val=inner*outer) + grad = Field.from_local_data(u.domain, inner*outer) grad = makeOp(MultiField({'points': grad})) return SelectionOperator(grad.target, 'points')*grad @staticmethod def IG(field, alpha, q): - foo = invgamma.ppf(norm.cdf(field.val), alpha, scale=q) - return Field(field.domain, val=foo) + foo = invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q) + return Field.from_local_data(field.domain, foo) @staticmethod def IG_prime(field, alpha, q): - inner = norm.pdf(field.val) - outer = invgamma.pdf(invgamma.ppf(norm.cdf(field.val), alpha, scale=q), alpha, scale=q) + inner = norm.pdf(field.local_data) + outer = invgamma.pdf(invgamma.ppf(norm.cdf(field.local_data), alpha, scale=q), alpha, scale=q) # # FIXME # outer = np.clip(outer, 1e-20, None) outer = 1/outer - return Field(field.domain, val=inner*outer) + return Field.from_local_data(field.domain, inner*outer) @staticmethod def inverseIG(u, alpha, q): -- GitLab