tf.compat.v1.lite.experimental.nn.TFLiteLSTMCell
Ячейка рекуррентной сети с длинной краткосрочной памятью (LSTM).
Наследуется от: RNNCell, Layer, Layer, Module
tf.compat.v1.lite.experimental.nn.TFLiteLSTMCell(
num_units, use_peepholes=False, cell_clip=None, initializer=None, num_proj=None,
proj_clip=None, num_unit_shards=None, num_proj_shards=None, forget_bias=1.0,
state_is_tuple=True, activation=None, reuse=None, name=None, dtype=None
)
Используется только для TfLite, предоставляет подсказки и также приводит переменные к нужному виду для операций tflite (транспонирует и разделяет).
Реализация по умолчанию без peephole основана на:
https://pdfs.semanticscholar.org/1154/0131eae85b2e11d53df7f1360eeb6476e7f4.pdf
Felix Gers, Jurgen Schmidhuber и Fred Cummins. «Learning to forget: Continual prediction with LSTM». IET, 850-855, 1999.
Реализация с peephole основана на:
https://research.google.com/pubs/archive/43905.pdf
Hasim Sak, Andrew Senior и Francoise Beaufays. «Long short-term memory recurrent neural network architectures for large scale acoustic modeling». INTERSPEECH, 2014.
Класс использует необязательные peephole-соединения, необязательное ограничение ячейки и необязательный проекционный слой.
Обратите внимание, что эта ячейка не оптимизирована для производительности. Для лучшей производительности на GPU используйте tf.contrib.cudnn_rnn.CudnnLSTM, а для лучшей производительности на CPU используйте tf.contrib.rnn.LSTMBlockCell и tf.contrib.rnn.LSTMBlockFusedCell.
| Аргументы | |
|---|---|
num_units | int, количество единиц в ячейке LSTM. |
use_peepholes | bool, установите True для включения диагональных/peephole-соединений. |
cell_clip | (необязательно) число с плавающей точкой; если указано, состояние ячейки ограничено этим значением перед активацией выхода ячейки. |
initializer | (необязательно) инициализатор для матриц весов и проекции. |
num_proj | (необязательно) int, размерность выхода для матриц проекции. Если None, проекция не выполняется. |
proj_clip | (необязательно) число с плавающей точкой. Если num_proj > 0 и proj_clip указаны, то спроецированные значения ограничены по элементам до [-proj_clip, proj_clip]. |
num_unit_shards | Устаревшее, будет удалено в январе 2017 г. Используйте вместо этого разделитель области переменных. |
num_proj_shards | Устаревшее, будет удалено в январе 2017 г. Используйте вместо этого разделитель области переменных. |
forget_bias | Смещения забывающей ячейки по умолчанию инициализируются значением 1, чтобы уменьшить масштаб забывания в начале обучения. Необходимо установить вручную значение 0.0, при восстановлении из контрольных точек, обученных с помощью CudnnLSTM. |
state_is_tuple | Если True, принятые и возвращаемые состояния являются кортежами из двух элементов c_state и m_state. Если False, они конкатенируются вдоль столбца. Это последнее поведение скоро будет устаревшим. |
activation | Функция активации внутренних состояний. По умолчанию: tanh. |
reuse | (необязательно) булево значение Python, описывающее, следует ли повторно использовать переменные в существующей области. Если не True, и существующая область уже имеет заданные переменные, генерируется ошибка. |
name | Строка, имя слоя. Слои с одинаковым именем будут разделять веса, но для предотвращения ошибок в таких случаях требуется reuse=True. |
dtype | Тип данных по умолчанию для слоя (по умолчанию None означает использование типа первого входного сигнала). Необходимо, когда build вызывается до call. При восстановлении из контрольных точек, обученных с помощью CudnnLSTM, используйте CudnnCompatibleLSTMCell. |
| Атрибуты | |
|---|---|
graph | |
output_size | Целое число или TensorShape: размер выводов, производимых этой ячейкой. |
scope_name | |
state_size | Размер(ы) состояний, используемых этой ячейкой. Он может быть представлен целым числом, TensorShape или кортежем целых чисел или TensorShape. |
Методы
get_initial_state
get_initial_state(
inputs=None, batch_size=None, dtype=None
)
zero_state
zero_state(
batch_size, dtype
)
Возвращает тензор(ы) состояния, заполненные нулями.
| Аргументы | |
|---|---|
batch_size | int, float или тензор, представляющий размер пакета. |
dtype | тип данных для использования в состоянии. |
| Возвращаемое значение | |
|---|---|
Если state_size является целым числом или TensorShape, то значение возврата — тензор N-D формы [batch_size, state_size], заполненный нулями. Если |
© 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/compat/v1/lite/experimental/nn/TFLiteLSTMCell