本文整理匯總了Python中dask.array.compute方法的典型用法代碼示例。如果您正苦於以下問題:Python array.compute方法的具體用法?Python array.compute怎麽用?Python array.compute使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類dask.array
的用法示例。
在下文中一共展示了array.compute方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: persist
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def persist(self, columns=None):
"""
Return a CatalogSource, where the selected columns are
computed and persist in memory.
"""
import dask.array as da
if columns is None:
columns = self.columns
r = {}
for key in columns:
r[key] = self[key]
r = da.compute(r)[0] # particularity of dask
from nbodykit.source.catalog.array import ArrayCatalog
c = ArrayCatalog(r, comm=self.comm)
c.attrs.update(self.attrs)
return c
示例2: test_slice
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def test_slice(comm):
source = UniformCatalog(nbar=2e-4, BoxSize=512., seed=42, comm=comm)
source['NZ'] = 1
# slice a subset
subset = source[:10]
assert all(col in subset for col in source.columns)
assert isinstance(subset, source.__class__)
assert len(subset) == 10
assert_array_equal(subset['Position'], source['Position'].compute()[:10])
subset = source[[0,1,2]]
assert_array_equal(subset['Position'], source['Position'].compute()[[0,1,2]])
# cannot slice with list of floats
with pytest.raises(KeyError):
subset = source[[0.0,1.0,2.0]]
# missing column
with pytest.raises(KeyError):
col = source['BAD_COLUMN']
示例3: _create_resample_kdtree
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def _create_resample_kdtree(self):
"""Set up kd tree on input."""
# Get input information
valid_input_index, source_lons, source_lats = \
_get_valid_input_index_dask(self.source_geo_def,
self.target_geo_def,
self.reduce_data,
self.radius_of_influence)
# FIXME: Is dask smart enough to only compute the pixels we end up
# using even with this complicated indexing
input_coords = lonlat2xyz(source_lons, source_lats)
valid_input_index = da.ravel(valid_input_index)
input_coords = input_coords[valid_input_index, :]
input_coords = input_coords.compute()
# Build kd-tree on input
input_coords = input_coords.astype(np.float)
valid_input_index, input_coords = da.compute(valid_input_index,
input_coords)
return valid_input_index, KDTree(input_coords)
示例4: _get_corner_dask
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def _get_corner_dask(stride, valid, in_x, in_y, index_array):
"""Get closest set of coordinates from the *valid* locations."""
# Find the closest valid pixels, if any
idxs = np.argmax(valid, axis=1)
# Check which of these were actually valid
invalid = np.invert(np.max(valid, axis=1))
# idxs = idxs.compute()
index_array = index_array.compute()
# Replace invalid points with np.nan
x__ = in_x[stride, idxs] # TODO: daskify
x__ = da.where(invalid, np.nan, x__)
y__ = in_y[stride, idxs] # TODO: daskify
y__ = da.where(invalid, np.nan, y__)
idx = index_array[stride, idxs] # TODO: daskify
return x__, y__, idx
示例5: query_no_distance
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def query_no_distance(target_lons, target_lats,
valid_output_index, kdtree, neighbours, epsilon, radius):
"""Query the kdtree. No distances are returned."""
voi = valid_output_index
voir = da.ravel(voi)
target_lons_valid = da.ravel(target_lons)[voir]
target_lats_valid = da.ravel(target_lats)[voir]
coords = lonlat2xyz(target_lons_valid, target_lats_valid)
distance_array, index_array = kdtree.query(
coords.compute(),
k=neighbours,
eps=epsilon,
distance_upper_bound=radius)
return index_array
示例6: get_geostationary_angle_extent
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def get_geostationary_angle_extent(geos_area):
"""Get the max earth (vs space) viewing angles in x and y."""
# get some projection parameters
a, b = proj4_radius_parameters(geos_area.proj_dict)
req = a / 1000.0
rp = b / 1000.0
h = geos_area.proj_dict['h'] / 1000.0 + req
# compute some constants
aeq = 1 - req ** 2 / (h ** 2)
ap_ = 1 - rp ** 2 / (h ** 2)
# generate points around the north hemisphere in satellite projection
# make it a bit smaller so that we stay inside the valid area
xmax = np.arccos(np.sqrt(aeq))
ymax = np.arccos(np.sqrt(ap_))
return xmax, ymax
示例7: test_compute_indices
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def test_compute_indices(self, mock_setattr):
"""Test running .compute() for indices."""
from pyresample.bilinear.xarr import (XArrayResamplerBilinear,
CACHE_INDICES)
resampler = XArrayResamplerBilinear(self.source_def, self.target_def,
self.radius)
# Set indices to Numpy arrays
for idx in CACHE_INDICES:
setattr(resampler, idx, np.array([]))
resampler._compute_indices()
# None of the indices shouldn't have been reassigned
mock_setattr.assert_not_called()
# Set indices to a Mock object
arr = mock.MagicMock()
for idx in CACHE_INDICES:
setattr(resampler, idx, arr)
resampler._compute_indices()
# All the indices should have been reassigned
self.assertEqual(mock_setattr.call_count, len(CACHE_INDICES))
# The compute should have been called the same amount of times
self.assertEqual(arr.compute.call_count, len(CACHE_INDICES))
示例8: test_solve_quadratic
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def test_solve_quadratic(self):
"""Test solving quadratic equation."""
from pyresample.bilinear.xarr import (_solve_quadratic_dask,
_calc_abc_dask)
res = _solve_quadratic_dask(1, 0, 0).compute()
self.assertEqual(res, 0.0)
res = _solve_quadratic_dask(1, 2, 1).compute()
self.assertTrue(np.isnan(res))
res = _solve_quadratic_dask(1, 2, 1, min_val=-2.).compute()
self.assertEqual(res, -1.0)
# Test that small adjustments work
pt_1, pt_2, pt_3, pt_4 = self.pts_vert_parallel
pt_1 = self.pts_vert_parallel[0].copy()
pt_1[0][0] += 1e-7
res = _calc_abc_dask(pt_1, pt_2, pt_3, pt_4, 0.0, 0.0)
res = _solve_quadratic_dask(res[0], res[1], res[2]).compute()
self.assertAlmostEqual(res[0], 0.5, 5)
res = _calc_abc_dask(pt_1, pt_3, pt_2, pt_4, 0.0, 0.0)
res = _solve_quadratic_dask(res[0], res[1], res[2]).compute()
self.assertAlmostEqual(res[0], 0.5, 5)
示例9: test_get_valid_input_index_dask
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def test_get_valid_input_index_dask(self):
"""Test finding valid indices for reduced input data."""
from pyresample.bilinear.xarr import _get_valid_input_index_dask
# Do not reduce data
vii, lons, lats = _get_valid_input_index_dask(self.source_def,
self.target_def,
False, self.radius)
self.assertEqual(vii.shape, (self.source_def.size, ))
self.assertTrue(vii.dtype == np.bool)
# No data has been reduced, whole input is used
self.assertTrue(vii.compute().all())
# Reduce data
vii, lons, lats = _get_valid_input_index_dask(self.source_def,
self.target_def,
True, self.radius)
# 2700 valid input points
self.assertEqual(vii.compute().sum(), 2700)
示例10: compute_writer_results
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def compute_writer_results(results):
"""Compute all the given dask graphs `results` so that the files are saved.
Args:
results (iterable): Iterable of dask graphs resulting from calls to
`scn.save_datasets(..., compute=False)`
"""
if not results:
return
sources, targets, delayeds = split_results(results)
# one or more writers have targets that we need to close in the future
if targets:
delayeds.append(da.store(sources, targets, compute=False))
if delayeds:
da.compute(delayeds)
if targets:
for target in targets:
if hasattr(target, 'close'):
target.close()
示例11: fit
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def fit(self, X, y=None):
X = self._check_array(X)
labels, centroids, inertia, n_iter = k_means(
X,
self.n_clusters,
oversampling_factor=self.oversampling_factor,
random_state=self.random_state,
init=self.init,
return_n_iter=True,
max_iter=self.max_iter,
init_max_iter=self.init_max_iter,
tol=self.tol,
)
self.cluster_centers_ = centroids
self.labels_ = labels
self.inertia_ = inertia.compute().item()
self.n_iter_ = n_iter
self.n_features_in_ = X.shape[1]
return self
示例12: materialize_as_ndarray
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def materialize_as_ndarray(a):
"""Convert distributed arrays to ndarrays."""
if type(a) in (list, tuple):
if da is not None and any(isinstance(arr, da.Array) for arr in a):
return da.compute(*a, sync=True)
return tuple(np.asarray(arr) for arr in a)
return np.asarray(a)
示例13: __getitem__
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def __getitem__(self, key):
# compute dask index b/c they are not fully supported
if isinstance(key, da.Array):
key = self.catalog.compute(key)
# base class behavior
d = da.Array.__getitem__(self, key)
# return a ColumnAccessor (okay b/c __setitem__ checks for circular references)
toret = ColumnAccessor(self.catalog, d)
toret.attrs.update(self.attrs)
return toret
示例14: compute
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def compute(self):
return self.catalog.compute(self)
示例15: __str__
# 需要導入模塊: from dask import array [as 別名]
# 或者: from dask.array import compute [as 別名]
def __str__(self):
r = da.Array.__str__(self)
if len(self) > 0:
r = r + " first: %s" % str(self[0].compute())
if len(self) > 1:
r = r + " last: %s" % str(self[-1].compute())
return r