ReplayDatasetImporter#
- class torchrl.data.datasets.ReplayDatasetImporter(*args, **kwargs)[source]#
Expose an external dataset as a TorchRL map-style dataset.
Implement this protocol to make an external library’s native dataset available as a finite
torch.utils.data.Datasetwhose items areTensorDictBaseinstances. The result may be a lazy view or a materialized dataset.Examples
>>> import torch >>> from tensordict import TensorDict >>> from torchrl.data import TensorStorage >>> from torchrl.data.datasets import ReplayDatasetImporter >>> class ColumnImporter: ... def from_external(self, columns): ... size = next(iter(columns.values())).shape[0] ... return TensorStorage(TensorDict(columns, [size])).as_dataset() >>> importer: ReplayDatasetImporter[dict[str, torch.Tensor]] = ColumnImporter() >>> dataset = importer.from_external({"observation": torch.arange(2)}) >>> dataset[1]["observation"] tensor(1)
See also
ReplayDatasetExporterfor exporting,ReplayDatasetAdapterfor bidirectional conversion, andStorageDatasetfor the returned dataset interface.- from_external(dataset: _ExternalDatasetT_contra, /) Dataset[TensorDictBase][source]#
Create a TorchRL map-style dataset from a native dataset object.
- Parameters:
dataset (ExternalDatasetT) – dataset in the external library’s native format.
- Returns:
- finite map-style dataset with one
TensorDictBaseitem per index.
- Return type:
Dataset[TensorDictBase]