def get_data(self, state=None, request=None): if state is not None or request is None: raise ValueError if isinstance(request, collections.Iterable): return tuple(iterable_fancy_indexing(indexable, request) for indexable in self.indexables) else: return tuple(indexable[request] for indexable in self.indexables)
def get_data(self, state=None, request=None): if state is not None or request is None: raise ValueError if isinstance(request, collections.Iterable): return tuple( iterable_fancy_indexing(indexable, request) for indexable in self.indexables) else: return tuple(indexable[request] for indexable in self.indexables)
def _out_of_memory_get_data(self, state=None, request=None): if not isinstance(request, (slice, list)): raise ValueError() data = [] shapes = [] handle = self._file_handle for source_name, subset in zip(self.sources, self.subsets): if hasattr(subset, 'step'): if hasattr(request, 'step'): req = slice(request.start + subset.start, request.stop + subset.start, request.step) else: req = [index + subset.start for index in request] else: req = iterable_fancy_indexing(subset, request) if hasattr(req, 'step'): val = handle[source_name][req] if source_name in self.vlen_sources: shape = handle[source_name].dims[0]['shapes'][req] else: shape = None else: if self.sort_indices: val = self.unsorted_fancy_index(req, handle[source_name]) if source_name in self.vlen_sources: shape = self.unsorted_fancy_index( req, handle[source_name].dims[0]['shapes']) else: shape = None else: val = handle[source_name][req] if source_name in self.vlen_sources: shape = handle[source_name].dims[0]['shapes'][req] else: shape = None data.append(val) shapes.append(shape) return data, shapes