tf.keras.utils.audio_dataset_from_directory
Генерирует набор данных tf.data.Dataset из аудиофайлов в каталоге.
tf.keras.utils.audio_dataset_from_directory(
directory,
labels='inferred',
label_mode='int',
class_names=None,
batch_size=32,
sampling_rate=None,
output_sequence_length=None,
ragged=False,
shuffle=True,
seed=None,
validation_split=None,
subset=None,
follow_links=False,
verbose=True
)
Используется в ноутбуках
| Используется в учебниках |
|---|
Если структура вашего каталога:
main_directory/ ...class_a/ ......a_audio_1.wav ......a_audio_2.wav ...class_b/ ......b_audio_1.wav ......b_audio_2.wav
Тогда вызов audio_dataset_from_directory(main_directory, labels='inferred') вернет набор данных tf.data.Dataset, который возвращает пакеты аудиофайлов из подкаталогов class_a и class_b, вместе с метками 0 и 1 (0 соответствует class_a, а 1 соответствует class_b).
В настоящее время поддерживаются только файлы формата .wav.
| Аргументы | |
|---|---|
directory | Каталог, где расположены данные. Если labels равен "inferred", он должен содержать подкаталоги, каждый из которых содержит аудиофайлы для класса. В противном случае структура каталога игнорируется. |
labels | Либо "inferred" (метки генерируются из структуры каталога), None (без меток), или список/кортеж целочисленных меток того же размера, что и количество аудиофайлов, найденных в каталоге. Метки должны быть отсортированы в соответствии с алфавитным порядком путей к аудиофайлам (полученным с помощью os.walk(directory) в Python). |
label_mode | Строка, описывающая кодирование labels. Варианты:
|
class_names | Действительно только если "метки" равны "inferred". Это явный список имен классов (должен совпадать с именами подкаталогов). Используется для управления порядком классов (в противном случае используется алфавитный порядок). |
batch_size | Размер пакетов данных. По умолчанию: 32. Если None, данные не будут пакетированы (набор данных будет возвращать отдельные образцы). |
sampling_rate | Частота дискретизации аудио (в отсчетах в секунду). |
output_sequence_length | Максимальная длина аудиопоследовательности. Аудиофайлы, длиннее этого, будут усечены до output_sequence_length. Если установлено значение None, все последовательности в одном пакете будут дополнены до длины самой длинной последовательности в пакете. |
ragged | Нужно ли вернуть набор данных Ragged (где каждая последовательность имеет свою длину). По умолчанию False. |
shuffle | Нужно ли перемешивать данные. По умолчанию True. Если установлено значение False, данные сортируются в алфавитном порядке. |
seed | Необязательное случайное семя для перемешивания и преобразований. |
validation_split | Необязательное число с плавающей точкой от 0 до 1, доля данных, которые необходимо зарезервировать для проверки. |
subset | Подмножество данных для возврата. Один из "training", "validation" или "both". Используется только если validation_split установлено. |
follow_links | Нужно ли посещать подкаталоги, на которые указывают символические ссылки. По умолчанию False. |
verbose | Нужно ли отображать информацию о количестве классов и найденных файлах. По умолчанию True. |
| Возвращаемое значение |
|---|
Объект набора данных tf.data.Dataset.
- Если
label_modeравенNone, он возвращаетstringтензоры формы(batch_size,), содержащие содержимое пакета аудиофайлов. - В противном случае он возвращает кортеж
(audio, labels), гдеaudioимеет форму(batch_size, sequence_length, num_channels), аlabelsследует формату, описанному ниже.
Правила относительно формата меток:
- если
label_modeравенint, метки являютсяint32тензором формы(batch_size,). - если
label_modeравенbinary, метки являютсяfloat32тензором из 1 и 0 с формой(batch_size, 1). - если
label_modeравенcategorical, метки являютсяfloat32тензором формы(batch_size, num_classes), представляющим кодирование в виде одного горячего кода индекса класса.
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/utils/audio_dataset_from_directory