Я передаю вложения, полученные из слоя 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].
Итак, я думаю, что форма ввода здесь не проблема.