使用Keras Data Generator批量加载3D体积中的2D切片

时间:2019-11-14 16:45:12

标签: python arrays tensorflow keras generator

我在TF / Keras中有一个基于U-Net的分割算法,该算法经过训练,可以对3D图像体积(存储为numpy数组)进行2D分割。除了切片编号(例如512x512x50、512x512x200、512,512,12)以外,我的3D图像体积均相同。目前,该算法正在加载所有3D阵列,进行级联,然后在训练期间从巨型512x512xn(总切片数)阵列中批量加载512x512图像...但这会占用过多的内存。

我想使用ImageDataGenerator的{​​{1}}或flow_from_directory之类的东西在训练过程中按需加载数组,而不是一次加载所有数组,但是我不确定如何这样做我正在处理3D卷,而不是包含2D图像的目录。 flow_from_dataframe是否提供一种类型的批量加载,我可以在其中从具有3D卷的目录批量加载2D切片?

一种低效的解决方法是打开我的所有3D阵列并将其重新保存为单个切片。.但我宁愿避免这种情况。否则,我想我可以构造一个自定义生成器,该生成器使用ImageDataGenerator一次加载一个切片?

任何输入将不胜感激,谢谢

0 个答案:

没有答案