utils_test.py 868 Bytes
Newer Older
1
import torch
2
from torchaudio_unittest.common_utils import (
3
    TorchaudioTestCase,
4
    TempDirMixin
5
6
)

Aziz's avatar
Aziz committed
7
8
9
from torchaudio.datasets import utils as dataset_utils


10
11
12
13
14
class Dataset(torch.utils.data.Dataset):
    def __getitem__(self, n):
        sample_rate = 8000
        waveform = n * torch.ones(2, 256)
        return waveform, sample_rate
15

16
17
    def __len__(self) -> int:
        return 2
Aziz's avatar
Aziz committed
18

19
20
21
    def __iter__(self):
        for i in range(len(self)):
            yield self[i]
Aziz's avatar
Aziz committed
22

23
24

class TestIterator(TorchaudioTestCase, TempDirMixin):
25
26
27
    backend = 'default'

    def test_disckcache_iterator(self):
28
        data = dataset_utils.diskcache_iterator(Dataset(), self.get_base_temp_dir())
29
30
31
32
33
34
        # Save
        data[0]
        # Load
        data[0]

    def test_bg_iterator(self):
35
        data = dataset_utils.bg_iterator(Dataset(), 5)
36
37
        for _ in data:
            pass