keras:使用ImageDataGenerator和KFold for fit_generator

时间:2017-01-22 16:46:10

标签: python machine-learning scikit-learn neural-network keras

flow_from_directory(目录):这会占用目录,但不会拍摄分割训练图像。

sklearn.model_selection.KFold:提供图像的拆分索引。这些可以在fit()中使用,但不能在fit_generator()

中使用

任何人都可以将KFold与ImageDataGenerator一起使用?它在吗?

3 个答案:

答案 0 :(得分:1)

目前无法使用<!doctype html> <html> <body> <div id="player">Play</div> <script> audioEl = document.createElement("audio"); audioEl.setAttribute('src','audioFile.mp3'); document.getElementById('player').appendChild(audioEl); document.getElementById('player').addEventListener('click',function() { this.innerHTML += 'playing'; audioEl.play(); }); </script> </body> </html> 生成器拆分文件夹中保存的数据集。该选项根本没有实现。为了获得测试/火车拆分,需要使用例如将主目录拆分成一组train / test / val目录。 Python中的<!doctype html> <html> <body> <div id="player">Play</div> <script> audioEl = document.createElement("audio"); audioEl.setAttribute('src','audioFile.mp3'); document.getElementById('player').appendChild(audioEl); document.getElementById('player').addEventListener('click',function() { this.insertAdjacentHTML("beforeend", "playing"); audioEl.play(); }); </script> </body> </html> 库。

答案 1 :(得分:0)

假设你有2个类的分类问题,我会做类似的事情:

o.set_shape(new_shape)

答案 2 :(得分:0)

对于遇到此问题的任何人:到发布此答案的日期为止-我认为并没有(至少相对而言)简单的即用型解决方案,并且无法确定我的结果自己搜索。

我想出的唯一解决方案,解决了项目中的类似问题,是在数据集中制作分区,分区数等于折叠数,然后将其保存为字典,并以分区数为键和文件路径列表作为分区的值。之后,您仍然必须将文件分类到用于培训和验证子集的类文件夹中。

例如:设K = 10。算法可以这样描述:

  • 将数据集分为10个大小相等的分区。
  • 将一个分区作为验证子集。按类别将其排序到所需的文件夹中。
  • 其余分区应视为训练子集,并分类到所需的文件夹中。
  • 为val和train子集创建data_generators。
  • 训练模型并使用您的体系结构将其保存
  • 对其他每个分区重复上述步骤(将一个分区作为val,在其他分区上训练),但是现在您必须从保存文件中加载模型

恐怕此解决方案的代码片段(包括排序脚本和分区字典形成脚本)太大而无法在此处提供,但是如有必要,我会很乐意分享。