我想基于使用TfidfVectorizer的矢量化单词进行多标签分类(20个不同的输出标签)。我已经设置了39974行,每行包含2739个项目(0或1)。
我想使用Keras模型对这些数据进行分类,该模型将包含1个隐藏层(~ 20个节点,激活='relu'),输出层等于20个可能的输出值(激活='softmax'以选择最佳拟合)。
以下是我目前的代码:
model = Sequential()
model.add(Dense(units=20, activation='relu', input_shape=tfidf_matrix.shape))
model.add(Dense(units=20, activation='softmax'))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(tfidf_matrix, train_data['cuisine_id'], epochs=10)
但有错误:
ValueError:检查输入时出错:预期dense_1_input有3个维度,但得到了带有形状(39774, 2739)的数组
如何使用此矩阵指定此NN以进行拟合?
行数(训练样本数)不是网络输入形状的一部分,因为训练过程为网络提供了每批一个样本(或者更准确地说,每批一个batch\u大小的样本)。
因此,在您的情况下,网络的输入形状是(2739,),正确的代码应该如下所示:
model = Sequential()
# the shape of one training example is
input_shape = tfidf_matrix[0].shape
model.add(Dense(units=20, activation='relu', input_shape=input_shape))
model.add(Dense(units=20, activation='softmax'))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(tfidf_matrix, train_data['cuisine_id'], epochs=10)
我得到这个错误: ValueError:检查输入时出错:预期序列有3个维度,但得到了形状为(500400)的数组 以下是我正在使用的代码。 输出(这里每行有500行): 代码: 有什么见解吗?
然后模型确定输入形状为28,28,1,因为60k是样本。 我得到错误:值错误:检查输入时的错误:预期conv2d_19_input有4个维度,但得到了具有形状(60000, 28, 28)的数组 就像每次我试图理解输入形状时一样,我会更加困惑。就像我现在对conv2d和dense的输入形状感到困惑一样。无论如何,为什么这是错误的?
问题内容: 我正在尝试使用学习的.h5文件进行预测。学习模型如下。 我将输入的形式编写如下。 我以为形状正确,但是发生以下错误。 ValueError:检查时出错:预期density_1_input的形状为(3,),但数组的形状为(1,) 的形状显然是,但上述错误并没有消失(数据来自的CSV文件)。 我怎么解决这个问题? 问题答案: x的形状显然是,但上述误差仍在继续。 您是对的,但这 不是 ke
问题内容: 我的输入只是一个具有339732行和两列的csv文件: 第一个是29个特征值,即X 第二个是二进制标签值,即Y 我正在尝试在堆叠的LSTM模型上训练数据: 这将引发错误: 追溯(最近一次调用为最新一次):在model.fit(X_train,y_train,batch_size = 400,epochs = 20,verbose = 1)中,文件“ first_approach.py
我正在运行一个CNN,检查图像,但不分类。事实上,输出层是一个密集层,其参数为1d中标签中图像的大小。 如下面的代码所示,我使用model.fit_generator()而不是model.fit,当开始训练模型时,会出现以下错误: 为什么这是一个错误?我的密度的输出是一个19316元素的数组,为什么它期望它有一个(1,)的形状? 此处还附上了模型的摘要: conv2d_28(Conv2D)(无,2
当我使用澳大利亚数据集编写降雨预测代码时,我在拟合ann模型并运行10的纪元值时遇到了错误。我使用numpy、熊猫、matplotlib、seborn等库作为导入。对于模型的运行,我使用Keras进行密集和顺序搜索。我还使用标准标量来标准化x的值。我得到了这一行的错误-ann.fit(x_train,y_train,batch_size=10,nb_epoch=10,详细=1)下面是我的错误-Va