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: object

Dataset 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: Dataset

A 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: NamedTuple

Named 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]

Module contents