- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Keras 解决二元分类问题,使用 ImageDataGenerator.flow_from_directory
方法生成批处理。但是,我的类非常不平衡,比如一个类比另一个多 8 倍或 9 倍,导致模型在为每个示例预测相同的输出类时卡住。有没有一种方法可以将 flow_from_directory
设置为在每个时期从我的小类过采样或从我的大类欠采样?目前,我刚刚在小类为每个图像创建了多个副本,但我希望有更多的灵 active 。
最佳答案
使用当前版本的 Keras - 仅使用 Keras 内置方法无法平衡您的数据集。 flow_from_directory
只是构建所有文件及其类的列表,对其进行洗牌(如果需要),然后对其进行迭代。
但是你可以做一个不同的技巧 - 通过编写你自己的生成器来在 python
中进行平衡:
def balanced_flow_from_directory(flow_from_directory, options):
for x, y in flow_from_directory:
yield custom_balance(x, y, options)
这里 custom_balance
应该是一个给定批处理 (x, y)
平衡它并返回平衡批处理 (x', y') 的函数
。对于大多数应用程序,批处理的大小不需要相同 - 但有一些奇怪的用例(例如 stateful RNNs) - 其中批处理大小应该具有固定大小)。
关于python - keras flow_from_directory 超过或欠采样一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815354/
我可以使用的最简单方法是什么 flow_from_directory在 Keras 中,同时将每个子目录中使用的示例数量限制为某个数字 N ? 对于上下文,我希望能够使用总图像的一小部分进行测试,而不
我正尝试在一些图像数据上训练自动编码器。数据集太大了,内存都放不下。所以很明显,我想借助 Keras 中的 flow_from_directory 从目录中按需加载数据。 我的数据集结构如下 ./Da
我的目录结构如下。 train |- dog --> contains image files of dogs |- cat --> contains image files of cats |- e
我有这样的训练数据结构,可以使用 flow_from_directory 来训练网络。 现在我想使用 GridSearchCV 执行超参数调整。当将 GridSearchCV 与 keras 模型一起
我正在使用 Keras 进行一些深度学习实验。训练我的模型后,我想使用以下代码测试我的模型: test_datagen = ImageDataGenerator(rescale=1 / 255.) t
我想在 Keras 中使用图像增强。我当前的代码如下所示: # define image augmentations train_datagen = ImageDataGenerator( featu
我正在尝试使用 .flow_from_directory(directory) 运行带有 cifar10 数据集的 Resnet 示例。下面的代码如下: from __future__ import
我正在尝试使用 Keras 解决二元分类问题,使用 ImageDataGenerator.flow_from_directory 方法生成批处理。但是,我的类非常不平衡,比如一个类比另一个多 8 倍或
train_image_gen = image_gen.flow_from_directory('/Users/harshpanwar/Desktop/Folder/train',
我试图使用我对 Keras 文档中示例代码的修改,该文档展示了在使用图像掩码代替标签的情况下如何设置 image_datagen.flow_from_directory()(对于图像分割,我们在这里为
我有一个代码正在运行,其中作为数据输入我有两个 numpy 数组 (X_train,y_true)。我喜欢 ImageDataGenerator 的数据扩充。 我可以用它来获取相应的 numpy 数组
我有以下火车/验证代码: # we create two instances with the same arguments image_data_gen_args = dict(ro
对于大多数数据集,图像是独立的,将它们随机 80%-20% 分割到 train/ 和 test/ 目录以与 Keras 的flow_from_directory()。然而,对于我的应用程序来说,情况并
我有 24 个类别的图像训练数据集,每个类别有 2800 张图像这些类在目录中彼此分开,全部位于一个名为训练的目录中 我使用以下代码通过 keras 加载数据: datagen = ImageData
我从 here 得到了下面的例子. train_datagen = ImageDataGenerator( rescale=1./255, shear_range=0.
我在训练模型后尝试使用 scikit 获取混淆矩阵,但由于我使用了 flow_from_directory,所以我无法访问数据和标签,或者我不知道方法这样做。由于 scikit 混淆矩阵方法的使用方式
问题:我正在训练一个用于多标签图像识别的模型。因此,我的图像与多个 y 标签相关联。这与 ImageDataGenerator 的便捷 keras 方法“flow_from_directory”相冲突
假设我有 100 个训练灰度图像和 100 个 RGB 训练掩码,每个大小为 512x512。我能够使用 to_categorical 对掩码进行单热编码在 Keras 中具有以下内容 numclas
我正在尝试使用 keras flow_from_directory 训练模型。但它不会重复 epoch 之后的数据(即当所有数据都被迭代时)。我找不到任何 选择这样做。下面是我在训练时生成数据的代码。
多任务学习模型接受三个输入。我正在使用 keras 数据生成器。是否可以将三个数据生成器传递给 model.fit_generator 函数? 问题定义 我正在解决分类问题。我使用的数据集是 Pain
我是一名优秀的程序员,十分优秀!