keras图像预处理不平衡数据

2023-12-25

All,

我正在尝试使用 Keras 对两个类进行图像分类。对于一个类,我的图像数量非常有限,比如 500。至于另一类,我的图像数量几乎是无限的。那么如果我想使用keras图像预处理,该怎么做呢?理想情况下,我需要这样的东西。对于第一类,我提供 500 个图像并使用 ImageDataGenerator 来获取更多图像。对于第二类,每次我从 1000000 个图像数据集中依次提取 500 个图像,并且可能不需要数据增强。一边看着这个例子 https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html这里还有Keras 文档 https://keras.io/preprocessing/image/,我发现默认情况下训练文件夹包含每个类别相同数量的图像。所以我的问题是,是否有现有的 API 可以实现这个技巧?如果是这样,请向我指出。如果没有,有什么解决方法可以满足这个需求吗?


你有一些选择。

Option 1

Use the class_weightfit() 函数的参数是一个将类映射到权重值的字典。假设您有 500 个 0 类样本和 1500 个 1 类样本,而不是您输入的样本class_weight = {0:3 , 1:1}。这使得 0 类的权重是 1 类的三倍。

train_generator.classes为您的权重提供正确的类名称。

如果您想以编程方式计算此值,则可以使用 scikit-learnsklearn.utils.compute_class_weight(): https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/class_weight.py https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/utils/class_weight.py

该函数查看标签的分布并生成权重,以同等地惩罚训练集中代表性不足或过多的类别。

另请参阅此处的这个有用的线程:https://github.com/fchollet/keras/issues/1875 https://github.com/fchollet/keras/issues/1875

该线程也可能有帮助:是否可以在 Keras 中自动从 flow_from_directory 推断出 class_weight ? https://stackoverflow.com/questions/42586475/is-it-possible-to-automatically-infer-the-class-weight-from-flow-from-directory

Option 2

您使用带有生成器的虚拟训练运行,在其中应用图像增强(如旋转、缩放、裁剪、翻转等),并保存增强图像以供稍后的真实训练。通过这种方式,您可以为代表性不足的类别创建更大甚至平衡的数据集。

在这个虚拟运行中你设置save_to_dir in the flow_from_directory将函数复制到您选择的文件夹中,然后仅从您需要更多样本的类中获取图像。显然,您会丢弃任何训练结果,因为您仅使用此运行来获取更多数据。

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

keras图像预处理不平衡数据 的相关文章

  • 使用 TensorFlow 和 Keras 的卷积神经网络精度较低 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划创建一个 CNN 来预测蘑菇类型 并从互联网上收集了 2500 多张照片 数据集有 156 个类别 不同类型的蘑菇 我在 Tensorfl
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • 设置缩略图内容类型

    我需要设置Content Type对于缩略图 我已经尝试如下所示 但它不起作用 仍然 它存储为流 天青功能 索引 json var Jimp require jimp module exports context myBlob gt Rea
  • Tensorflow 可变图像输入大小(自动编码器、放大......)

    Edit WARNING不建议使用不同图像大小的图像 因为张量需要具有相同的大小才能实现并行化 我一直在寻找解决方案 了解如何使用不同大小的图像作为神经网络的输入 Numpy 第一个想法是使用numpy 然而 由于每个图像的大小不同 我无法
  • 优化 Keras 以使用所有可用的 CPU 资源

    好吧 我真的不知道我在说什么 所以请耐心听我说 我正在使用 Theano 后端运行 Keras 以在 MNIST 图像上运行基本的神经网络 目前只是一个教程 过去 我一直使用我的旧 HP 笔记本电脑 因为我有 Windows 和 Ubunt
  • Keras 错误:预计会看到 1 个数组

    当我尝试在 keras 中训练 MLP 模型时出现以下错误 我使用的是 keras 版本1 2 2 检查模型输入时出错 您输入的 Numpy 数组列表 传递给您的模型的尺寸不是模型预期的尺寸 预期的 查看 1 个数组 但得到以下 12859
  • 命令行批量图像裁剪工具

    有没有可以处理多种格式的轻量级命令行批量图像裁剪工具 Linux或Windows 在 Linux 中你可以使用 mogrify crop Width x Height X Y repage image png 用于 CLI 图像处理
  • 使用 Keras 和 fit_generator 绘制 TensorBoard 分布和直方图

    我正在使用 Keras 使用 fit generator 函数训练 CNN 这似乎是一个已知问题 https github com fchollet keras issues 3358TensorBoard 在此设置中不显示直方图和分布 有
  • L-BFGS 是否有 tf.keras.optimizers 实现?

    有人有 L BFGS 算法的 Tensorflow 2 tf keras 子类吗 如果想使用 L BFGS 目前有两个 官方 选项 TF概率 SciPy 优化 这两个选项使用起来相当麻烦 尤其是在使用自定义模型时 因此 我计划实现 tf k
  • 无法在 PIL 中对 16 位 TIF 应用图像滤镜

    我尝试使用 python 应用图像过滤器PIL http www pythonware com products pil 代码很简单 im Image open fnImage im im filter ImageFilter BLUR 此
  • 如何在 apache poi 中找到包含图片的单元格

    我尝试在 xls 文档中循环图像 我写下一个代码 HSSFPatriarch patriarch sheet getDrawingPatriarch if patriarch null Loop through the objects fo
  • 如何使用 PHP 在邮件正文中发送 Base64 图像?

    我正在尝试使用下面的代码使用 PHP 发送一封正文上包含 base64 图像的电子邮件 但该图像永远不会出现 如果我更改为 URL 它可以工作 但它不能与 base64 一起使用 我只在新页面上测试了base64 img src base6
  • 为什么我的精确率-召回率和 ROC 曲线不平滑?

    我有一些标记为 0 或 1 的数据 我正在尝试使用随机森林来预测这些类别 每个实例都标有 20 个用于训练随机森林的特征 约 30 000 个训练实例和约 6000 个测试实例 我使用以下代码绘制精确召回率和 ROC 曲线 precisio
  • 如何在WPF中裁剪图像并保存到ImageSource中?

    我是 WPF 的新学员 我有一个问题 我有一个图像 宽度 360 高度 360 在这里 我想裁剪该图像 如下所示 0 0 到 120 120 保存到第一个 ImageSource 对象 120 0 到 240 120 保存到第二个 Imag
  • 在NN中指定连接(在keras中)

    我正在使用 keras 和tensorflow 1 4 我想明确指定哪些神经元在两层之间连接 因此 每当第一层中的神经元 i 连接到第二层中的神经元 j 且其他地方为零时 我就有一个矩阵 A 其中包含 1 我的第一次尝试是创建一个带有内核的
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 通过Javascript确定图像文件大小+尺寸?

    作为网络应用程序的一部分 一旦图像被下载并呈现在网页上 我需要确定图像的文件大小 kb 和浏览器上下文中的分辨率 这样我就可以在页面上显示该信息 显然 这需要在客户端完成 必须能够在没有 ActiveX 控件或 Java 小程序的情况下解决
  • TinyMCE 图像上传 API 不显示图像选择器图标

    我们按照本教程中的说明进行操作 但由于某种原因 图像对话框上的上传按钮 图像 URL 旁边的搜索文件夹图标 未显示 http www tinymce com wiki php Handling Asynchronous Image Uplo
  • 图像在 3D 空间中绕 Y 轴旋转

    我有一个 BufferedImage 我想用 theta 角而不是仿射变换绕 Java 中的 Y 轴旋转图像 图片 旋转将如下图所示 矩形将是图像 我可以通过旋转图像的每个像素并绘制图像来做到这一点 因为我必须旋转很多图像 所以我认为这不是
  • 使用 cvcreateimage 使用 opencv 创建简单的黑色图像

    来自 OpenCV 新手的非常基本的问题 我只想创建一个图像 每个像素设置为0 黑色的 我在 main 函数中使用了以下代码 IplImage imgScribble cvCreateImage cvSize 320 240 8 3 我得到

随机推荐