tensorflow - keras: forward states of bidirectional lstm are not masked -


i using keras , tf. passing padded sequences input (pad value=-1) , masking input masking layer mask value set -1.0. however, when collect output of x after bilstm layer, see forward states non-zero @ masked positions.

from keras.layers import embedding, lstm, dense, input, masking keras.layers.wrappers import bidirectional keras.models import model import numpy np import tensorflow tf vec = np.random.randn(3, 5) inp = input((3,)) x = masking(mask_value=-1.0)(inp) x = embedding(3, 5, weights=[vec], input_length=3, trainable=false)(x) x = bidirectional(lstm(10, return_sequences=true))(x) sess = tf.session() sess.run(tf.global_variables_initializer()) print(sess.run(x, {inp: [[0, 2, -1], [1, -1, -1]]})) 

here output:

[[[ -4.62276675e-03  -4.01115604e-03   5.02156140e-03   1.97147974e-03      7.38522829e-03   5.62763307e-03   2.18000403e-03   8.19381850e-04      7.11255067e-04  -5.42447111e-03   4.71341610e-03  -9.23852995e-03      8.90769251e-03   5.24031650e-03   5.27720852e-03   5.26314508e-03      6.20147912e-03   3.62612633e-03   4.85892594e-03  -2.66220560e-03]   [ -6.73649739e-03  -2.59472057e-04   5.75539097e-03   6.66894065e-03      1.10127367e-02   2.46753707e-03  -2.99500511e-03  -3.73128545e-03     -5.83201367e-03  -4.31951787e-03   1.44616829e-03  -6.58686040e-03      4.14082780e-03   1.14090310e-03  -8.29242985e-04   5.53416228e-03     -4.11105895e-04   2.87892064e-03   3.62366205e-04  -7.94248248e-04]   [ -5.54567296e-03   1.15430041e-03   3.27830086e-03   4.12886823e-03      6.78183092e-03   1.79559551e-03  -1.80174352e-03  -3.33251758e-03     -5.29490225e-03  -3.05411895e-03   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00]]   [[ -4.98074247e-03   9.01466759e-04   3.40987043e-03  -3.25349579e-03      9.21981584e-04   5.99770434e-03   1.67222356e-03   2.20844080e-03      4.45439760e-03  -3.40889138e-03   7.48059654e-04  -7.22813362e-04     -8.83788511e-04  -6.78786746e-05   2.53343279e-03   6.05521607e-04     -1.31173420e-03   2.08991882e-03  -1.15431065e-03   2.35650165e-04]   [ -3.34386993e-03   1.24489667e-03   1.97105715e-03  -2.06982507e-03      9.56661941e-04   4.27589752e-03   9.54369374e-04   1.84580882e-03      2.93672620e-03  -2.59263976e-03   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00]   [ -2.26694648e-03   1.35568588e-03   1.10661483e-03  -1.33866596e-03      8.82549793e-04   3.03406548e-03   4.88151883e-04   1.53438631e-03      1.89515646e-03  -2.01789290e-03   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00      0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00]]] 


Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -