datasets.gentle_push package
Submodules
datasets.gentle_push.data_loader module
Implements dataloaders for Gentle Push tasks.
Sourced from https://github.com/brentyi/multimodalfilter/blob/master/crossmodal/tasks/_push.py
- class datasets.gentle_push.data_loader.PushTask
Bases:
objectDataset definition and model registry for pushing task.
- classmethod add_dataset_arguments(parser: ArgumentParser) None
Add dataset options to an argument parser.
- Parameters:
parser (argparse.ArgumentParser) – Parser to add arguments to.
- classmethod get_dataloader(subsequence_length: int, modalities=None, batch_size=32, drop_last=True, **dataset_args)
Get dataloaders for gentle-push dataset.
- Parameters:
subsequence_length (int) – Length of subsequences for each sample
modalities (list, optional) – List of strings defining which modalities to use. Defaults to None. Pick from [‘gripper_pos’, ‘gripper_sensors’, ‘image’, ‘control’].
batch_size (int, optional) – Batch size. Defaults to 32.
drop_last (bool, optional) – Whether to drop last datasample or not. Defaults to True.
- Returns:
Tuple of training dataloader, validation dataloader, and test dataloader
- Return type:
tuple
- classmethod get_dataset_args(args: Namespace) Dict[str, Any]
Get a dataset_args dictionary from a parsed set of arguments.
- Parameters:
args (argparse.Namespace) – Parsed arguments.
- classmethod get_eval_trajectories(**dataset_args) List[TrajectoryNumpy]
Get evaluation trajectories.
- classmethod get_test_trajectories(modalities, noise_levels=2, **dataset_args)
Get test trajectories.
- classmethod get_train_trajectories(**dataset_args) List[TrajectoryNumpy]
Get training trajectories.
- class datasets.gentle_push.data_loader.SubsequenceDataset(trajectories: List[TrajectoryNumpy], subsequence_length: int, modalities=None)
Bases:
DatasetA data preprocessor for producing training subsequences from a list of trajectories. Thin wrapper around torchfilter.data.split_trajectories().
- Parameters:
trajectories (list) – list of trajectories, where each is a tuple of (states, observations, controls). Each tuple member should be either a numpy array or dict of numpy arrays with shape (T, …).
subsequence_length (int) – # of timesteps per subsequence.
- __init__(trajectories: List[TrajectoryNumpy], subsequence_length: int, modalities=None)
Initialize SubsequenceDataset object.
- Parameters:
trajectories (List[TrajectoryNumpy]) – List of trajectories
subsequence_length (int) – Length to sample each subsequence
modalities (list, optional) – List of strings of modalities to choose. Defaults to None. Choose from [‘gripper_pos’, ‘gripper_sensors’, ‘image’, ‘control’].
- class datasets.gentle_push.data_loader.TrajectoryNumpy(states: Any, observations: Any, controls: Any)
Bases:
NamedTupleNamed tuple containing states, observations, and controls represented in NumPy.
- controls: Any
Alias for field number 2
- observations: Any
Alias for field number 1
- states: Any
Alias for field number 0
- datasets.gentle_push.data_loader.split_trajectories(trajectories: List[TrajectoryNumpy], subsequence_length: int, modalities=None)
Helper for splitting a list of trajectories into a list of overlapping subsequences. For each trajectory, assuming a subsequence length of 10, this function includes in its output overlapping subsequences corresponding to timesteps… ```
[0:10], [10:20], [20:30], …
` as well as... `[5:15], [15:25], [25:30], …
``` :param trajectories: List of trajectories. :type trajectories: List[torchfilter.base.TrajectoryNumpy] :param subsequence_length: # of timesteps per subsequence. :type subsequence_length: int
- Returns:
List of subsequences.
- Return type:
List[torchfilter.base.TrajectoryNumpy]