Spec-Zone.ru › TensorFlow 2.4

tf.signal.frame

Просмотр исходного кода на GitHub

Расширяет signal измерение axis в кадры из frame_length.

Псевдонимы

Совместимые псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.signal.frame

tf.signal.frame(
    signal, frame_length, frame_step, pad_end=False, pad_value=0, axis=-1, name=None
)

Перемещает окно размера frame_length по измерению signal axis со шагом frame_step, заменяя измерение axis на [frames, frame_length] кадров.

Если pad_end равно True, позиции окон, которые выходят за пределы измерения axis, заполняются значением pad_value до тех пор, пока окно полностью не выйдет за пределы измерения. В противном случае будут получены только позиции окон, которые полностью перекрывают измерение axis.

Пример:

# A batch size 3 tensor of 9152 audio samples.
audio = tf.random.normal([3, 9152])

# Compute overlapping frames of length 512 with a step of 180 (frames overlap
# by 332 samples). By default, only 49 frames are generated since a frame
# with start position j*180 for j > 48 would overhang the end.
frames = tf.signal.frame(audio, 512, 180)
frames.shape.assert_is_compatible_with([3, 49, 512])

# When pad_end is enabled, the final two frames are kept (padded with zeros).
frames = tf.signal.frame(audio, 512, 180, pad_end=True)
frames.shape.assert_is_compatible_with([3, 51, 512])

Если измерение по axis равно N, и pad_end=False, количество кадров можно вычислить по формуле:

num_frames = 1 + (N - frame_size) // frame_step

Если pad_end=True, количество кадров можно вычислить по формуле:

num_frames = -(-N // frame_step) # ceiling division
Аргументы
signal Массив [..., samples, ...] Tensor. Ранг и размерности могут быть неизвестны. Ранг должен быть не менее 1.
frame_length Длина кадра в выборках. Целое число или скаляр Tensor.
frame_step Размер шага кадра в выборках. Целое число или скаляр Tensor.
pad_end Нужно ли заполнять конец signal значением pad_value?
pad_value Необязательный скаляр Tensor для использования в случае, когда входной сигнал отсутствует, когда pad_end равно True.
axis Необязательное целое число Tensor, указывающее ось для формирования кадров. По умолчанию — последняя ось. Поддерживает отрицательные значения для индексирования с конца.
name Необязательное имя операции.
Возвращаемое значение
Массив Tensor кадров с формой [..., num_frames, frame_length, ...].
Исключения
ValueError Если frame_length, frame_step, pad_value, или axis не являются скалярами.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/signal/frame

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API