Я пытаюсь понять код с этого веб-сайта: 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