m0_65354641 2024-05-20 15:42 采纳率: 0%
浏览 262
已结题

Google speech command 数据集获取

#在关键字检测领域,一个比较流行的数据集就是Google Speech Commands,但是目前根据链接或者是在pytorch中直接下载,都是下载的30类别+background_noise。
如何找到它的V1-12,V2-12等其他版本的数据集?

  • 写回答

23条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-05-20 16:24
    关注
    获得0.45元问题酬金

    获取Google Speech Commands数据集的不同版本(如V1-12, V2-12)可能需要通过不同的渠道。以下是获取这些数据集的几种方法:

    1. 官方Google Speech Commands数据集

    官方的Google Speech Commands数据集可以通过以下链接获取:

    2. 从TensorFlow数据集获取

    可以通过TensorFlow的数据集模块直接下载不同版本的Google Speech Commands数据集。

    TensorFlow Datasets (TFDS)

    使用TensorFlow Datasets下载不同版本的数据集:

    import tensorflow_datasets as tfds
    
    # 加载 V1 版本
    ds_train_v1 = tfds.load('speech_commands', split='train', version='1.0.0')
    ds_train_v2 = tfds.load('speech_commands', split='train', version='2.0.0')
    

    3. PyTorch加载自定义数据集

    如果需要在PyTorch中使用这些数据集,可以先下载数据集并解压,然后使用PyTorch的自定义数据集类加载它们。

    下载和解压数据集

    wget https://storage.googleapis.com/download.tensorflow.org/data/speech_commands_v0.01.tar.gz
    wget https://storage.googleapis.com/download.tensorflow.org/data/speech_commands_v0.02.tar.gz
    
    tar -xzvf speech_commands_v0.01.tar.gz
    tar -xzvf speech_commands_v0.02.tar.gz
    

    PyTorch自定义数据集类

    import os
    import torchaudio
    from torch.utils.data import Dataset
    
    class SpeechCommandsDataset(Dataset):
        def __init__(self, root_dir, transform=None):
            self.root_dir = root_dir
            self.transform = transform
            self.labels = os.listdir(root_dir)
            self.filepaths = []
            self.targets = []
            for idx, label in enumerate(self.labels):
                files = os.listdir(os.path.join(root_dir, label))
                for file in files:
                    self.filepaths.append(os.path.join(root_dir, label, file))
                    self.targets.append(idx)
        
        def __len__(self):
            return len(self.filepaths)
        
        def __getitem__(self, idx):
            audio_path = self.filepaths[idx]
            label = self.targets[idx]
            waveform, sample_rate = torchaudio.load(audio_path)
            if self.transform:
                waveform = self.transform(waveform)
            return waveform, label
    
    # 使用自定义数据集类加载数据集
    train_dataset_v1 = SpeechCommandsDataset(root_dir='speech_commands_v0.01')
    train_dataset_v2 = SpeechCommandsDataset(root_dir='speech_commands_v0.02')
    

    4. 从第三方资源获取

    有些第三方资源提供了不同版本的Google Speech Commands数据集的镜像或不同版本,以下是一些可能的资源:

    在这些平台上,可以找到社区共享的不同版本数据集并下载。

    通过以上方法,应该可以获取到不同版本的Google Speech Commands数据集并在PyTorch中使用。如果有其他具体问题或需要进一步帮助,请告诉我。

    评论

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 创建了问题 5月20日