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