sup3r.utilities.pytest.helpers.DummySampler#
- class DummySampler(sample_shape, data_shape, features, batch_size, feature_sets=None)[source]#
Bases:
Sampler
Dummy container with random data.
- Parameters:
data (Union[Sup3rX, Sup3rDataset],) – Object with data that will be sampled from. Usually the
.data
attribute of variousContainer
objects. i.e.Loader
,Rasterizer
,Deriver
, as long as the spatial dimensions are not flattened.sample_shape (tuple) – Size of arrays to sample from the contained data.
batch_size (int) – Number of samples to get to build a single batch. A sample of
(sample_shape[0], sample_shape[1], batch_size * sample_shape[2])
is first selected from underlying dataset and then reshaped into(batch_size, *sample_shape)
to get a single batch. This is more efficient than gettingN = batch_size
samples and then stacking.feature_sets (Optional[dict]) – Optional dictionary describing how the full set of features is split between
lr_only_features
andhr_exo_features
.- featureslist | tuple
List of full set of features to use for sampling. If no entry is provided then all data_vars from data will be used.
- lr_only_featureslist | tuple
List of feature names or patt*erns that should only be included in the low-res training set and not the high-res observations.
- hr_exo_featureslist | tuple
List of feature names or patt*erns that should be included in the high-resolution observation but not expected to be output from the generative model. An example is high-res topography that is to be injected mid-network.
Methods
get_sample_index
([n_obs])Randomly gets spatiotemporal sample index.
post_init_log
([args_dict])Log additional arguments after initialization.
Check if the sample_shape is larger than the requested raster size
wrap
(data)Return a
Sup3rDataset
object or tuple of such.Attributes
Return underlying data.
Get a list of exogenous high-resolution features that are only used for training e.g., mid-network high-res topo injection.
Get the high-resolution features corresponding to hr_features_ind
Get the high-resolution feature channel indices that should be included for training.
Get a list of high-resolution features that are intended to be output by the GAN.
Shape of the data sample to select when __next__() is called.
List of feature names or patt*erns that should only be included in the low-res training set and not the high-res observations.
Shape of the data sample to select when
__next__()
is called.Get shape of underlying data.
- property data#
Return underlying data.
- Returns:
See also
- get_sample_index(n_obs=None)#
Randomly gets spatiotemporal sample index.
Notes
If
n_obs > 1
this will get a time slice withn_obs * self.sample_shape[2]
time steps, which will then be reshaped inton_obs
samples each withself.sample_shape[2]
time steps. This is a much more efficient way of getting batches of samples but only works if there are enough continuous time steps to sample.- Returns:
sample_index (tuple) – Tuple of latitude slice, longitude slice, time slice, and features. Used to get single observation like
self.data[sample_index]
- property hr_exo_features#
Get a list of exogenous high-resolution features that are only used for training e.g., mid-network high-res topo injection. These must come at the end of the high-res feature set. These can also be input to the model as low-res features.
- property hr_features#
Get the high-resolution features corresponding to hr_features_ind
- property hr_features_ind#
Get the high-resolution feature channel indices that should be included for training. Any high-resolution features that are only included in the data handler to be coarsened for the low-res input are removed
- property hr_out_features#
Get a list of high-resolution features that are intended to be output by the GAN. Does not include high-resolution exogenous features
- property hr_sample_shape: Tuple#
Shape of the data sample to select when __next__() is called. Same as sample_shape
- property lr_only_features#
List of feature names or patt*erns that should only be included in the low-res training set and not the high-res observations.
- post_init_log(args_dict=None)#
Log additional arguments after initialization.
- preflight()#
Check if the sample_shape is larger than the requested raster size
- property shape#
Get shape of underlying data.
- wrap(data)#
Return a
Sup3rDataset
object or tuple of such. This is a tuple when the .data attribute belongs to aCollection
object likeBatchHandler
. Otherwise this isSup3rDataset
object, which is either a wrapped 2-tuple or 1-tuple (e.g.len(data) == 2
orlen(data) == 1)
. This is a 2-tuple when.data
belongs to a dual container object likeDualSampler
and a 1-tuple otherwise.