Почему у меня размерность на выходе неправильная
Мне нужно на вывод из генератора получать спектрограмму размерностью (?,256,256,3)
Вот код генератора:
def generator(gen_df, batch_size):
while True:
x_batch = []
y_batch = []
for i in range(batch_size):
wav1, wav2 = gen_df.sample(1).values[0]
wave1, sample_rate = torchaudio.load('sample_data/{}.wav'.format(wav1))
wave2, sample_rate = torchaudio.load('sample_data/{}.wav'.format(wav2))
specgram1 = torchaudio.transforms.Spectrogram()(wave1)
specgram2 = torchaudio.transforms.Spectrogram()(wave2)
specgram1 = torch.Size([256,256,3])
specgram2 = torch.Size([256,256,3])
x_batch += [specgram1]
y_batch += [specgram2]
x_batch = np.array(x_batch)
y_batch = np.array(y_batch)
yield x_batch, y_batch
Но на выходе:
(?, 3)
Все записи в .wav c частотой 16000 и длительностью 5 секунд. До x_batch = np.array(x_batch) y_batch = np.array(y_batch) размерность спектрограммы (?, 201,401)
Меня интересует два момента
- Почему размерность так искажается, и в чем моя ошибка ?
- Можно ли сделать ресайз спектрограммы и как вообще это сделать правильно?