如何使用嵌入层的结果,然后进行一些尺寸更改,然后在CNN中进行训练

时间:2018-11-30 14:56:37

标签: python tensorflow

我的问题是,我有一堆句子,这些句子聚在一起作为评论。我有很多评论及其相应的标签。我正在尝试做:使用嵌入层为每个句子创建词嵌入,然后使用CNN将其转换为句子向量。之后,我将每个句子向量组合到一个评论矩阵,然后在另一个CNN中对其进行训练。因此,基本上,我想使用嵌入层的结果并进行一些尺寸更改,然后将结果传递给另一个CNN层,最后训练整个模型以获得最佳的嵌入矩阵。我该怎么做?这是我的代码。似乎model.add(layer)(input)无法正常工作

model = Sequential()
model.add(Embedding(vocabulary_size,embedding_dim))


model.add(Conv1D(6,5, activation='tanh'))
model.add(KMaxPooling(4))  

output = model.predict(X_train)
x_train =[]
start = 0
for i in num_sen_2group:
    end = start+i
    x_train.append(output[start:end])
    start = end

model.add(Conv1D(15,5,activation='tanh'))(x_train)
model.add(KMaxPooling(2))
model.add(Flatten())
model.add(Dense(2, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.Adam(lr=0.002),
              metrics=['accuracy'])    
model.fit(X_train, y_train,
          batch_size=128,
          epochs=10)

0 个答案:

没有答案