как работают несколько символов подчеркивания в l oop - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь понять код с этого веб-сайта: https://www.assemblyai.com/blog/end-to-end-speech-recognition-pytorch

for (waveform, _, utterance, _, _, _) in data:

Кто-нибудь может объяснить, в чем смысл этой строки и как она работает? Например, мы игнорируем некоторые значения при распаковке данных или что-то еще.

Полный код функции:

def data_processing(data, data_type="train"):
    spectrograms = []
    labels = []
    input_lengths = []
    label_lengths = []
    for (waveform, _, utterance, _, _, _) in data:
        if data_type == 'train':
            spec = train_audio_transforms(waveform).squeeze(0).transpose(0, 1)
        elif data_type == 'valid':
            spec = valid_audio_transforms(waveform).squeeze(0).transpose(0, 1)
        else:
            raise Exception('data_type should be train or valid')
        spectrograms.append(spec)
        label = torch.Tensor(text_transform.text_to_int(utterance.lower()))
        labels.append(label)
        input_lengths.append(spec.shape[0]//2)
        label_lengths.append(len(label))

    spectrograms = nn.utils.rnn.pad_sequence(spectrograms, batch_first=True).unsqueeze(1).transpose(2, 3)
    labels = nn.utils.rnn.pad_sequence(labels, batch_first=True)

    return spectrograms, labels, input_lengths, label_lengths
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...