I don’t know if Your answer cover me needs, becouse You pass at the and masked input , and what Keras Gru do (in my opinion) , is applying some kind of attention based on given mask.
My features
FEATURE
tensor([[[0.6853, 0.7958, 0.0017, ..., 0.1823, 0.5553, 0.2935],
[0.6637, 0.8767, 0.0271, ..., 0.1365, 0.3762, 0.1650],
[0.5990, 0.7948, 0.0245, ..., 0.1462, 0.4408, 0.1912],
...,
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000],
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000],
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000]],
[[0.3059, 1.4664, 0.0243, ..., 0.6032, 0.6973, 0.3338],
[0.3780, 1.1796, 0.1137, ..., 0.3834, 0.7203, 0.1014],
[0.2908, 1.2995, 0.1637, ..., 0.5579, 0.8582, 0.2847],
...,
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000],
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000],
[0.0000, 0.0000, 0.0000, ..., 0.0000, 0.0000, 0.0000]]]) torch.Size([2, 112, 2048])
MASK
tensor([[ True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
False, False, False, False, False, False, False, False, False, False,
False, False],
[ True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False,
False, False]]) torch.Size([2, 112])
My code is based on colab implementation for video sequence analyze - they took features from CNN model ( inception v3) where features are [SEQ_LEN, 2048]
and they wanna pass them to GRU net
link → keras_colab_video_cls