为了账号安全,请及时绑定邮箱和手机立即绑定

Keras:使用灰度蒙版和 ImageDataGenerator 类进行图像分割

Keras:使用灰度蒙版和 ImageDataGenerator 类进行图像分割

侃侃尔雅 2021-08-14 19:27:20
我目前正在尝试使用 Keras 2.1.6(以 TensorFlow 作为后端)实现卷积网络,并ImageDataGenerator使用灰度掩码对图像进行分割。我尝试使用图像作为输入,并使用掩码作为标签。由于训练图像数量少,而且内存限制,我使用了ImageDataGeneratorKeras 中提供的类。但是,在将 Keras 示例中提供的值更改为稍后描述的值后,我收到此错误:File "C:\Users\XXX\Anaconda3\lib\site-packages\keras\engine\training.py", line 2223, in fit_generatorbatch_size = x.shape[0]AttributeError: 'tuple' object has no attribute 'shape'据我所知,这是因为生成器确实生成了一个元组,而不是一个数组。这首先发生在我将以下参数从 Keras 示例中提供的标准值更改为以下参数后:color_mode='grayscale'对于所有掩码生成器,并且class_mode='input'由于这被推荐用于自动编码器。可以在此处找到 Keras 示例。我使用的数据集由 100 张图像 ( jpg) 和 100 个相应的灰度蒙版 ( png) 组成,可以在此链接下载
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您要构建的是图像分割模型,而不是自动编码器。因此,由于您有单独的图像和标签生成器(即掩码),您需要将class_mode参数设置为None以防止生成器生成任何标签数组。

此外,您需要将最后一层的激活函数从 更改softmaxsigmoid,否则由于 softmax 将其输入元素的总和归一化为 1,因此输出将全部为 1。您也可以binary_crossentropy用于损失函数。


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信