Spec-Zone.ru › TensorFlow

tf.signal.frame

Преобразует измерение axis тензора signal в кадры размером 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
)

Используется в блокнотах

Используется в учебных пособиях
  • Перенос обучения для аудиоданных с помощью TensorFlow Lite Model Maker

Перемещает окно размером frame_length по измерению axis тензора signal с шагом 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 Необязательное имя операции.
Возвращает
[..., num_frames, frame_length, ...] тензора Tensor, содержащего кадры.
Вызывает исключения
ValueError Если frame_length, frame_step, pad_value или axis не являются скалярными значениями.

© 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/signal/frame

Spec-Zone.ru

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