API reference

This page provides an auto-generated summary of Xbatcher’s API.

Core

class xbatcher.BatchGenerator(ds, input_dims, input_overlap={}, batch_dims={}, concat_input_dims=False, preload_batch=True)[source]

Create generator for iterating through xarray datarrays / datasets in batches.

Parameters
dsxarray.Dataset or xarray.DataArray

The data to iterate over

input_dimsdict

A dictionary specifying the size of the inputs in each dimension, e.g. {'lat': 30, 'lon': 30} These are the dimensions the ML library will see. All other dimensions will be stacked into one dimension called batch.

input_overlapdict, optional

A dictionary specifying the overlap along each dimension e.g. {'lat': 3, 'lon': 3}

batch_dimsdict, optional

A dictionary specifying the size of the batch along each dimension e.g. {'time': 10}. These will always be interated over.

concat_input_dimsbool, optional

If True, the dimension chunks specified in input_dims will be concatenated and stacked into the batch dimension. If False, they will be iterated over.

preload_batchbool, optional

If True, each batch will be loaded into memory before reshaping / processing, triggering any dask arrays to be computed.

Yields
ds_slicexarray.Dataset or xarray.DataArray

Slices of the array matching the given batch size specification.

__init__(ds, input_dims, input_overlap={}, batch_dims={}, concat_input_dims=False, preload_batch=True)[source]

Dataset.batch and DataArray.batch

Dataset.batch.generator(*args, **kwargs)

Return a BatchGenerator via the batch accessor

DataArray.batch.generator(*args, **kwargs)

Return a BatchGenerator via the batch accessor