TypeError:使用GRU时+:'NoneType'和'int'不受支持的操作数类型

时间:2018-12-09 13:53:49

标签: keras deep-learning keras-layer

我将在下面的代码中将从ELmo层获得的嵌入传递给GRU层。 elmo层输出大小为1024的嵌入。

def classifier_network(queryfeatures, num_classes):
    queryembedfeatures=ElmoEmbeddingLayer()(queryfeatures)
    gru=layers.GRU(units=200,activation='tanh',return_sequences=False,return_state=True)(queryembedfeatures)
    dense = layers.Dense(num_classes,activation='tanh',name='denseA')(gru)
    return dense

gru层始终会出现以下错误

/usr/local/lib/python3.6/dist-packages/keras/initializers.py in __call__(self, shape, dtype)
         ... 
             scale /= max(1., fan_out)
         else:
--->         scale /= max(1., float(fan_in + fan_out) / 2) #Error here
         if self.distribution == 'normal':
            # 0.879... = scipy.stats.truncnorm.std(a=-2, b=2, loc=0., scale=1.)

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

请帮助!我试图验证输入,但是它们已经是[batch_size,numsteps,embedding_size]的形式。

所以,我认为输入形状在这里不是问题。

0 个答案:

没有答案