我正在尝试在Jupyter Notebook的Keras中使用CNN为文本构建一个自动编码器。我正在使用IMDB数据集,该数据集有25,000个2列的示例,其中一列是评论和评级。
我首先标记并将它们转换为数字序列,并填充到 2340(最大序列长度(。 所以,最后我的矩阵大小是 25,000 x 2340。 然后我试图传入输入层,但我没有得到
input_ = Input((2340,))
Input(X_train)
然后我,得到以下错误:
TypeError:将形状转换为 TensorShape 时出错:只有 size-1 数组可以转换为 Python 标量。
X_train的形状是(20000,2340(将其分解为训练集和验证集后。
请解释为什么会出现此错误。
我觉得错误在这里 输入(X_train(,函数 根据 keras 文档输入期望 shape=(2340,( 表示预期的输入将是 2340 维向量的批次,默认情况下它假设形状为(无,2340(,所以我认为你不需要再次传递 Input(X_train(。 下面是 Keras 文档页面中的示例
x = Input(shape=(32,))
y = Dense(16, activation='softmax')(x)
model = Model(x, y)
希望这有帮助!!