Tensorflow 馈送RNN时的可变长度序列
我试图建立RNN模型,其中输入序列的长度可变,我不想做填充,因为它是没有效率的 因此,我试图通过将批大小设置为keras实际支持的1,一次一个地输入一个序列。这是通过在输入中设置batch_size=None来实现的Tensorflow 馈送RNN时的可变长度序列,tensorflow,keras,lstm,recurrent-neural-network,sequential,Tensorflow,Keras,Lstm,Recurrent Neural Network,Sequential,我试图建立RNN模型,其中输入序列的长度可变,我不想做填充,因为它是没有效率的 因此,我试图通过将批大小设置为keras实际支持的1,一次一个地输入一个序列。这是通过在输入中设置batch_size=None来实现的 inp = Input(shape=(None, X_train.shape[2])) layer1 = LSTM(32, activation='tanh', return_sequences=True, use_bias=False)(inp) layer2 = GRU(8,
inp = Input(shape=(None, X_train.shape[2]))
layer1 = LSTM(32, activation='tanh', return_sequences=True, use_bias=False)(inp)
layer2 = GRU(8, activation = 'tanh', return_sequences=True, use_bias=False)(layer1)
out = GRU(1, activation = 'sigmoid', return_sequences=True, use_bias=False)(layer2)
model = Model(inputs=inp, outputs=out)
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
这是模型摘要
模型:“功能性_1”
_________________________________________________________________图层(类型)输出形状参数#=====================================================================================input\u 1(InputLayer)[(无,无,11)]0
_________________________________________________________________lstm(lstm)(无,无,32)5504
_________________________________________________________________gru(gru)(无,无,8)960
_________________________________________________________________gru_1(gru)(无,无,1)27
=====================================================================总参数:6491个可训练参数:6491个不可训练参数:0 _________________________________________________________________没有 但我得到了这个错误- ---------------------------------------------------------------------------索引器回溯(最近的调用) 最后)在 ---->1 inp=输入(形状=(无,X_序列形状[2])) 2层1=LSTM(32,激活=tanh',返回序列=True,使用偏差=False)(inp) 3第2层=GRU(8,激活='tanh',返回序列=真,使用偏差=假)(第1层) 4 out=GRU(1,激活='sigmoid',返回序列=真,使用偏差=假)(第2层) 5模型=模型(输入=输入,输出=输出) 索引器错误:元组索引超出范围 请帮我解决我所犯的错误
model.fit(X_train, y_train, batch_size = 1, epochs=1, validation_data=[X_test, y_test], shuffle=True)