keras ValueError:生成器的输出应该是一个元组(x,y,sample_weight)或(x,y)。发现:无

2023-12-07

我有 Unet 模型视网膜网,但是我增强了图像和蒙版。现在?它给了我这个错误ValueError: output of generator should be a tuple (x, y, sample_weight) or (x, y). Found: None我想训练增强(图像和掩模)并验证增强图像和掩模。

批量生成函数:

    def batch_generator(X_gen,Y_gen):
            yield(X_batch,Y_batch)



model = get_unet(1,img_width,img_hight)  #the U-net model
print("Model Summary")
print(model.summary())
print "Check: final output of the network:"
print model.output_shape

#============  Training ==================================
checkpointer = ModelCheckpoint(filepath='./'+'SAEED'+'_best_weights.h5', verbose=2, monitor='val_acc', mode='auto', save_best_only=True) #save at each epoch if the validation decreased
print("Now augumenting training")
datagen = ImageDataGenerator(rotation_range=120)
#traing augumentation.
train_images_generator = datagen.flow_from_directory(train_images_dir,target_size=(img_width,img_hight),batch_size=30,class_mode=None)
train_mask_generator = datagen.flow_from_directory(train_masks_dir,target_size=(img_width,img_hight),batch_size=30,class_mode=None)
print("Now augumenting val")
#val augumentation.
val_images_generator = datagen.flow_from_directory(val_images_dir,target_size=(img_width,img_hight),batch_size=30,class_mode=None)
val_masks_generator = datagen.flow_from_directory(val_masks_dir,target_size=(img_width,img_hight),batch_size=30,class_mode=None)

print("Now augumenting test")
#test augumentation
test_images_generator = datagen.flow_from_directory(test_images_dir,target_size=(img_width,img_hight),batch_size=25,class_mode=None)
test_masks_generator = datagen.flow_from_directory(test_masks_dir,target_size=(img_width,img_hight),batch_size=25,class_mode=None)
#fitting model.
print("Now fitting the model ")
#model.fit_generator(train_generator,samples_per_epoch = nb_train_samples*2,nb_epoch=nb_epoch,validation_data=val_generator,nb_val_samples=nb_val_samples,callbacks=[checkpointer])
print("train_images_generator size {} and type is {}".format(next(train_images_generator).shape,type(next(train_images_generator))))
print("train_masks_generator size {} and type is {}".format(next(train_mask_generator).shape,type(next(train_mask_generator))))

model.fit_generator(batch_generator(train_images_generator,train_mask_generator),samples_per_epoch = nb_train_samples,nb_epoch=nb_epoch,validation_data=batch_generator(val_images_generator,val_masks_generator),nb_val_samples=nb_val_samples,callbacks=[checkpointer])
print("Finished fitting the model")

` 型号概要:

`

Model Summary
____________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
input_1 (InputLayer)             (None, 1, 160, 160)   0
____________________________________________________________________________________________________
convolution2d_1 (Convolution2D)  (None, 32, 160, 160)  320         input_1[0][0]
____________________________________________________________________________________________________
dropout_1 (Dropout)              (None, 32, 160, 160)  0           convolution2d_1[0][0]
____________________________________________________________________________________________________
convolution2d_2 (Convolution2D)  (None, 32, 160, 160)  9248        dropout_1[0][0]
____________________________________________________________________________________________________
maxpooling2d_1 (MaxPooling2D)    (None, 32, 80, 80)    0           convolution2d_2[0][0]
____________________________________________________________________________________________________
convolution2d_3 (Convolution2D)  (None, 64, 80, 80)    18496       maxpooling2d_1[0][0]
____________________________________________________________________________________________________
dropout_2 (Dropout)              (None, 64, 80, 80)    0           convolution2d_3[0][0]
____________________________________________________________________________________________________
convolution2d_4 (Convolution2D)  (None, 64, 80, 80)    36928       dropout_2[0][0]
____________________________________________________________________________________________________
maxpooling2d_2 (MaxPooling2D)    (None, 64, 40, 40)    0           convolution2d_4[0][0]
____________________________________________________________________________________________________
convolution2d_5 (Convolution2D)  (None, 128, 40, 40)   73856       maxpooling2d_2[0][0]
____________________________________________________________________________________________________
dropout_3 (Dropout)              (None, 128, 40, 40)   0           convolution2d_5[0][0]
____________________________________________________________________________________________________
convolution2d_6 (Convolution2D)  (None, 128, 40, 40)   147584      dropout_3[0][0]
____________________________________________________________________________________________________
upsampling2d_1 (UpSampling2D)    (None, 128, 80, 80)   0           convolution2d_6[0][0]
____________________________________________________________________________________________________
merge_1 (Merge)                  (None, 192, 80, 80)   0           upsampling2d_1[0][0]
                                                                   convolution2d_4[0][0]
____________________________________________________________________________________________________
convolution2d_7 (Convolution2D)  (None, 64, 80, 80)    110656      merge_1[0][0]
____________________________________________________________________________________________________
dropout_4 (Dropout)              (None, 64, 80, 80)    0           convolution2d_7[0][0]
____________________________________________________________________________________________________
convolution2d_8 (Convolution2D)  (None, 64, 80, 80)    36928       dropout_4[0][0]
____________________________________________________________________________________________________
upsampling2d_2 (UpSampling2D)    (None, 64, 160, 160)  0           convolution2d_8[0][0]
____________________________________________________________________________________________________
merge_2 (Merge)                  (None, 96, 160, 160)  0           upsampling2d_2[0][0]
                                                                   convolution2d_2[0][0]
____________________________________________________________________________________________________
convolution2d_9 (Convolution2D)  (None, 32, 160, 160)  27680       merge_2[0][0]
____________________________________________________________________________________________________
dropout_5 (Dropout)              (None, 32, 160, 160)  0           convolution2d_9[0][0]
____________________________________________________________________________________________________
convolution2d_10 (Convolution2D) (None, 32, 160, 160)  9248        dropout_5[0][0]
____________________________________________________________________________________________________
convolution2d_11 (Convolution2D) (None, 2, 160, 160)   66          convolution2d_10[0][0]
____________________________________________________________________________________________________
reshape_1 (Reshape)              (None, 2, 25600)      0           convolution2d_11[0][0]
____________________________________________________________________________________________________
permute_1 (Permute)              (None, 25600, 2)      0           reshape_1[0][0]
____________________________________________________________________________________________________
activation_1 (Activation)        (None, 25600, 2)      0           permute_1[0][0]
====================================================================================================
Total params: 471,010
Trainable params: 471,010
Non-trainable params: 0

`

任何想法?谢谢。


以防以后有人遇到同样的问题。

问题是发电机问题。固定在下面

def batch_generator(X_gen,Y_gen): while true: yield(X_gen.next(),Y_gen.next())

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

keras ValueError:生成器的输出应该是一个元组(x,y,sample_weight)或(x,y)。发现:无 的相关文章

  • 用 tf.data 替换基于队列的输入管道

    我正在阅读 Ganegedara 的 NLP with Tensorflow 输入pipieline的介绍有以下例子 import tensorflow as tf import numpy as np import os Defining
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 为什么 Python 中的“pip install”会引发语法错误?

    我正在尝试使用 pip 安装软件包 我试着跑pip install从Python shell 但我得到了SyntaxError 为什么我会收到此错误 如何使用 pip 安装软件包 gt gt gt pip install selenium
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • 如何通过双击在浏览器中打开 ipynb 文件

    以前 我安装了 Canopy 当时 我只需双击 ipynb 文件并在浏览器中打开它们即可 但是 后来我需要Anaconda 一旦我安装了它 这个功能就没有了 现在我只希望能够简单地双击 ipynb 文件 然后该文件就会在 Firefox 中
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 如何在Python和Selenium中通过标签名称或id获取元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 和 Selenium 获取输入 但它向我显示错误 我该如何解决这个错误 inputElement send keys getStock getStocklFunc 0 Error i
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • Matplotlib Scatter - ValueError:RGBA 序列的长度应为 3 或 4

    我正在尝试为我的功能绘制图表 但不断收到此错误 ValueError RGBA sequence should have length 3 or 4 每当我只有 6 种形状时 代码就可以完美运行 但现在我将其增加到 10 种 它就不起作用了
  • 如何有效地从 loadmat 函数生成的嵌套 numpy 数组中提取值?

    python中是否有更有效的方法从嵌套的python列表中提取数据 例如A array array 12000000 dtype object 我一直在使用A 0 0 0 0 当你有很多像 A 这样的数据时 这似乎不是一个有效的方法 我也用
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • Flask WTForms 使用变量自动填充 StringField

    我有一个表格 我想用上一页收到的信息自动填充一些字段 但如果他们想调整它 它需要是可更改的 我正在为我的 SelectField 使用动态创建的列表 但添加 StringField 并不成功 请参阅下面的我的代码 forms py clas
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如

随机推荐