pytorch dataloader读取音频
时间: 2023-12-20 11:47:18 浏览: 26
PyTorch中可以使用`torchaudio`库来读取音频文件。下面是一个简单的示例:
```python
import torch
import torchaudio
class AudioDataset(torch.utils.data.Dataset):
def __init__(self, file_list):
self.file_list = file_list
def __len__(self):
return len(self.file_list)
def __getitem__(self, idx):
file_path = self.file_list[idx]
waveform, sample_rate = torchaudio.load(file_path)
return waveform, sample_rate
```
在上面的代码中,`AudioDataset`类继承自`torch.utils.data.Dataset`,并重载了`__len__`和`__getitem__`方法,用于返回数据集大小和单个样本。
`__getitem__`方法中,我们使用`torchaudio.load`函数读取音频文件,并返回音频波形和采样率。
使用`AudioDataset`类来创建数据集实例,并传递音频文件路径列表:
```python
file_list = ['audio1.wav', 'audio2.wav', 'audio3.wav']
dataset = AudioDataset(file_list)
```
接下来,可以使用`torch.utils.data.DataLoader`来创建数据加载器:
```python
dataloader = torch.utils.data.DataLoader(dataset, batch_size=16, shuffle=True)
```
通过数据加载器,可以自动批量加载和处理音频数据。