neural-network - ValueError:检查目标时出错:预期dense_20的形状为(4,),但数组的形状为(3,)
问题描述
我已经阅读了其他堆栈溢出,但它并没有满足我的问题。我正在做对象定位,我希望我的模型产生四个输出,它们是边界框的 x1、y1、x2、y2。但它一直向我显示价值错误。是我的模型有问题还是我的数据集有问题?模型:
model = keras.Sequential([
keras.layers.Conv2D(32,(3,3),padding = 'same' ,activation = 'relu', input_shape= (image_width,image_height,image_channels)),
keras.layers.MaxPooling2D(pool_size = (2,2)),
keras.layers.Dropout(0.25),
keras.layers.Conv2D(64,(3,3),padding = 'same',activation = 'relu'),
keras.layers.MaxPooling2D(pool_size = (2,2)),
keras.layers.Dropout(0.25),
keras.layers.Conv2D(64,(3,3),padding = "same",activation = 'relu'),
keras.layers.MaxPooling2D(pool_size = (2,2)),
keras.layers.Dropout(0.25),
keras.layers.Flatten(),
keras.layers.Dense(256, activation = 'relu'),
keras.layers.Dropout(0.25),
keras.layers.Dense(4,activation="relu")
])
model.compile(loss="mse", optimizer='adam', metrics=['accuracy'])
训练和验证数据生成器:
train_datagen = ImageDataGenerator(
rotation_range = 15,
rescale = 1./255,
shear_range = 0.1,
zoom_range = 0.2,
horizontal_flip = True,
width_shift_range = 0.1,
height_shift_range = 0.1
)
train_generator = train_datagen.flow_from_dataframe(
dataframe = train_df,
directory = "/mydrive/Object-Classification-and-Localization-with-TensorFlow-master/training_images",
x_col = 'filename',
y_col = 'name',
target_size = (128,128),
class_mode = 'categorical',
batch_size = batch_size
)
validation_datagen = ImageDataGenerator(rescale = 1./255)
validation_generator = validation_datagen.flow_from_dataframe(
dataframe = validate_df,
directory = "/mydrive/Object-Classification-and-Localization-with-TensorFlow-master/training_images",
x_col = 'filename',
y_col = 'name',
target_size = (128,128),
class_mode = 'categorical',
batch_size = batch_size
)
数据集格式(数据框的总形状 = (1488,9)):
filename width height depth name xmin ymin xmax ymax
cucumber_1.jpg 227 227 3 cucumber 23 42 206 199
解决方案
推荐阅读
- python - 为什么在可视化 Keras 模型时更改图例字体大小时会出错?
- google-cloud-platform - GC Deployment Manager 使用 Jinja 模板安装 PHP
- python - Blogger API Json 中的“id”表示什么?
- css - 扩展内容脚本(JS/或 CSS)不适用
- flutter - 如何使屏幕在颤动中可滚动?
- html - 将背景图片定位在 CSS 底部
- python - Python xml - 删除空格以获取对齐的 xml 文档
- javascript - 添加自定义标签会停止呈现页面
- oracle - 我想在 PL/SQL 中解决这个问题 EXCEPTION 命令不起作用
- database - 基于条目更新周期开始日期的算法