TensorFlow BasicLSTMCell против LSTMFusedBlockCell
Я новичок в TensorFlow. Мне удалось построить график, который использует LSTM для обучения базовой модели с использованием BaiscLSTMCell
на основе учебника TensorFlow.
Но мне нужно сделать это быстрее. Я видел сравнение здесь, и, поскольку у меня нет графического процессора Nvidia, LSTMBlockFusedCell
кажется лучшим вариантом. Я взглянул на документацию и заметил, что подписи __init__()
а также __call__()
функции разные. В частности, я беспокоюсь о cell_clip
параметр в __init()__
и sequence_length
в вызове. Более того, inputs
тензор имеет форму [time_len, batch_size, input_size]
; не отличается ли это от базовой ячейки ([batch_size, time_len, input_size]
)? Я не хочу использовать глазки, поэтому я оставлю это False
(дефолт).
Может ли кто-нибудь объяснить, есть ли какие-либо другие различия (помимо улучшения производительности) между BasicLSTMCell
и LSTMBlockFusedCell
и как правильно установить параметры, упомянутые выше, чтобы достичь того же результата, что и оригинал?
1 ответ
Документация для LSTMBlockCell
говорит, что он должен быть совместим с LSTMCell
поэтому одни и те же аргументы должны иметь одинаковое значение.
Независимо от того, является ли входной тензор первым или по времени, ячейка не связана с ячейкой и связана с используемой вами динамической_статей / статической_рнн.