keras:双向lstm的前向状态未被屏蔽

时间:2017-08-20 13:10:30

标签: tensorflow keras

我正在使用Keras和TF。 我传递填充序列作为输入(填充值= -1)并使用掩码值设置为-1.0的Masking图层掩蔽输入。但是,当我在BiLSTM图层之后收集x的输出时,我看到屏蔽位置的前向状态为非零。

from keras.layers import Embedding, LSTM, Dense, Input, Masking
from keras.layers.wrappers import Bidirectional
from keras.models import Model
import numpy as np
import tensorflow as 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]]}))

这是输出:

[[[ -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]]]

0 个答案:

没有答案