Как keras пропускает временные шаги при маскировке? - PullRequest
0 голосов
/ 18 октября 2018

Я понимаю, что Keras предоставляет слой Masking, который позволяет нам пропускать заполненный временной шаг при прохождении через RNN.Я также видел, что Masking возвращает -0 для шагов, которые мы хотим замаскировать:

In [119]: sess.run(mask.call(u))                                                                                                                                                                                   
Out[119]: 
array([[[ 0.,  1.,  2.,  3.],
    [ 4.,  5.,  6.,  7.],
    [ 8.,  9., 10., 11.],
    [-0., -0., -0., -0.]],

   [[ 0.,  1.,  2.,  3.],
    [ 4.,  5.,  6.,  7.],
    [-0., -0., -0., -0.],
    [-0., -0., -0., -0.]]], dtype=float32)

, где я маскирую -1 от оригинала u:

 In [121]: sess.run(u)                                                                                                                                                                                              
 Out[121]: 
 array([[[ 0.,  1.,  2.,  3.],
    [ 4.,  5.,  6.,  7.],
    [ 8.,  9., 10., 11.],
    [-1., -1., -1., -1.]],

   [[ 0.,  1.,  2.,  3.],
    [ 4.,  5.,  6.,  7.],
    [-1., -1., -1., -1.],
    [-1., -1., -1., -1.]]], dtype=float32)

Как RNN пропускает эти временные шаги при подаче маскированного ввода?

...