Что такое "класс клеток" в Керасе?
Или, более конкретно: в чем разница между ConvLSTM2D
а также ConvLSTM2DCell
?
В чем разница между SimpleRNN
а такжеSimpleRNNCell
?
Тот же вопрос для ГРУ и GRUCell
Руководства Keras здесь не очень многословны.
Я могу видеть из RTFS (читая эти прекрасные источники), что эти классы являются потомками разных базовых классов. Те, с именами, заканчивающимися на Cell
являются подклассами Layer
,
В моей задаче мне нужно классифицировать видеопоследовательности. То есть вход моего классификатора представляет собой последовательность видеокадров, а вывод представляет собой одну метку (вектор с горячим кодированием).
Какой класс я должен использовать?
1 ответ
Решение
Разница одинакова для каждого комбинированного слоя:
- Ячейка: Ячейка является фактическим компонентом вычислений, они принимают один вход, прошедшее состояние и создают выход, новые состояния. Они фактически выполняют пошаговую функцию, которая, например, содержит вычисление ячейки GRU.
- Слой RNN: эти слои обертывают соответствующие ячейки, чтобы применить одну и ту же ячейку к нескольким временным шагам. Таким образом, ячейка повторяется по входной последовательности и собирает выходные данные на основе дополнительных опций, таких как
return_sequences
,