MCPcopy
hub / github.com/dask/dask / _layer

Method _layer

dask/array/_array_expr/_reductions.py:312–334  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

310 return tuple(chunks)
311
312 def _layer(self):
313 x = self.array
314 parts = [
315 list(partition_all(self.split_every.get(i, 1), range(n)))
316 for (i, n) in enumerate(x.numblocks)
317 ]
318 keys = product(*map(range, map(len, parts)))
319 if not self.keepdims:
320 out_axis = [i for i in range(x.ndim) if i not in self.split_every]
321 getter = lambda k: get(out_axis, k)
322 keys = map(getter, keys)
323 dsk = {}
324 for k, p in zip(keys, product(*parts)):
325 free = {
326 i: j[0]
327 for (i, j) in enumerate(p)
328 if len(j) == 1 and i not in self.split_every
329 }
330 dummy = dict(i for i in enumerate(p) if i[0] in self.split_every)
331 g = lol_tuples((x.name,), range(x.ndim), free, dummy)
332 dsk[(self._name,) + k] = (self.func, g)
333
334 return dsk
335
336 @property
337 def _meta(self):

Callers

nothing calls this directly

Calls 3

lol_tuplesFunction · 0.90
getFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected