【发布时间】:2018-07-20 16:42:41
【问题描述】:
我正在使用 CNN 和 word2vec 作为嵌入方法在 python 中使用 keras 进行情感分析项目。 根据我的代码,我设置了我的输入形状,15 和 512,所以当我想预测一个新句子的极性时说:“我很抱歉”,例如,长度:4 - 我面临这个错误:
预期 conv1d_1_input 的形状为 (15, 512) 但得到的数组形状为 (4, 512) 这是我的代码的一部分:
model = Sequential()
model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same',
input_shape=(15, 512)))
model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=3, activation='elu', padding='same'))
model.add(Dropout(0.25))
model.add(Conv1D(32, kernel_size=2, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=2, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=2, activation='elu', padding='same'))
model.add(Conv1D(32, kernel_size=2, activation='elu', padding='same'))
model.add(Dropout(0.25))
model.add(Dense(256, activation='relu')
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(2, activation='softmax'))
我所能做的就是制作新的 python 文件并加载我所有的相关模型,例如 word2vec ...并像这样更改其上的输入形状:
model111 = Sequential()
model111.add(Conv1D(32, kernel_size=3, activation='elu', padding='same',
input_shape=(len(input), 512)))
model111.add(Dense(256, activation='relu'))
model111.add(Dense(256, activation='relu'))
model111.add(Dropout(0.5))
model111.add(Flatten())
model111.add(Dense(2, activation='softmax'))
我想知道这个方法好不好??任何有效的解决方案将不胜感激
【问题讨论】:
标签: python keras conv-neural-network prediction sentiment-analysis