python - 使用 Keras 数据生成器从 3D 体积批量加载 2D 切片
问题描述
我在 TF/Keras 中有一个基于 U-Net 的分割算法,它被训练用于 3D 图像体积的 2D 分割(存储为 numpy 数组)。我的 3D 图像体积除了切片编号(例如,512x512x50、512x512x200、512、512、12)外,尺寸相同。目前,该算法正在加载所有 3D 数组,连接,然后在训练期间从巨大的 512x512xn(总切片数)数组批量加载 512x512 图像……但这占用了太多内存。
我想使用类似ImageDataGenerator
's 的东西flow_from_directory
或flow_from_dataframe
在训练期间根据需要加载数组,而不是一次加载,但我不确定如何执行此操作,因为我处理的是 3D 卷而不是包含 2D 图像的目录。是否有一种批量加载类型,ImageDataGenerator
我可以从具有 3D 卷的目录批量加载 2D 切片?
一个低效的解决方法是打开我所有的 3D 数组并重新保存为单个切片..但我更愿意避免这种情况。否则我想我可以构建一个自定义生成器,用于numpy.memmap
一次加载一个切片?
任何输入将不胜感激,谢谢
解决方案
推荐阅读
- mongodb - 我们可以使用spring数据存储库来更新mongodb中的嵌入文档吗
- javascript - Javascript:如何用 html 代码替换所有匹配的字符串
- c# - 如何使用 ajax 使用数据库 ASP .NET C# 从另一个下拉列表中填充下拉列表
- c# - 如何使用自定义响应格式化程序流式传输 Http 响应?
- android - 如何在 Kotlin 中获取协程的名称?
- sql - 获得最长用户连续记录的正确计数
- php - foreach 内部 foreach 删除元素问题
- ios - 调试 iOS 多人应用程序时设备断开连接
- google-bigquery - 标准 SQL 将旧版 SQL 用例用于 Big Query 的外部应用程序
- c# - 使用 JSON 正文内容参数调用 HTTP GET