Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

neilisaac / torch   python

Repository URL to install this package:

Version: 1.8.0 

/ utils / data / datasets / loadfilesfromdiskdataset.py

from torch.utils.data.dataset import IterableDataset
from torch.utils.data.datasets.common import get_file_binaries_from_pathnames

from typing import Iterable, Iterator

class LoadFilesFromDiskIterableDataset(IterableDataset):
    r""" :class:`LoadFilesFromDiskIterableDataset`.

    IterableDataset to load file binary streams from given pathnames,
    yield pathname and binary stream in a tuple.
    args:
        dataset: Iterable dataset that provides pathnames
        length: a nominal length of the dataset
    """

    def __init__(
            self,
            dataset : Iterable,
            length : int = -1):
        super().__init__()
        self.dataset : Iterable = dataset
        self.length : int = length

    def __iter__(self) -> Iterator[tuple] :
        yield from get_file_binaries_from_pathnames(self.dataset)

    def __len__(self):
        if self.length == -1:
            raise NotImplementedError
        return self.length