遇到标题错误的麻烦。我确实知道我为什么会收到此错误,但是经过研究后,由于我是ML的新手,所以我很难理解这个概念。该错误与没有X_TRAIN和Y_TRAIN有关,但我无法理解它们的组成。所有图像均已调整为相同尺寸。我使用的CUB 2011数据集的训练/验证比例为90:10,下面是与错误相关的代码。我正在使用Keras。
classifier.add(Conv2D(256, (3, 3), input_shape = (467,386,3)))
classifier.add(Activation('relu'))
#Smaller for precise pooling
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Flatten())
#Add 512 unit layer
classifier.add(Dense(units = 512, activation = 'relu'))
答案 0 :(得分:0)
问题出在最后一个Dense(512, ...)
层与数据目标只是1维这一事实之间的差异。您可以通过将模型转换为输出预期尺寸来进行修复,也可以将数据调整为预期模型输出。这取决于您要实现的目标。要修复模型,您可以添加另一个Dense
层:
classifier.add(Dense(units = 512, activation = 'relu'))
classifier.add(Dropout(0.2)) #prevent overfitting
classifier.add(Dense(units=1, activation='sigmoid')) # HERE ---
或者看看print(next(train_generator))
输出的是什么生成器,以了解为什么目标数组是一维的。