python - Keras:如何使用 fit_generator 输入多个图像和一个输出?
问题描述
有可能制作那个fit_generator吗?
我正在创建一个 U-net 网络,我想使用图片高 500、权重 500 和 5 个通道作为输入,输出高 500、权重 500 和 1 个通道
如果不可能 - 我可以自己创建 500x500x5 np.arrays,然后我需要一个生成器来从 HDD 加载 numpy 对象
我现在的代码(仅用于 rgb 图片)
train_generator=datagen.flow_from_directory('/content/data/',
target_size=(500,500),
color_mode='rgb',
batch_size=32,
class_mode='categorical', shuffle=False)
解决方案
您应该创建自己的生成器。获取while True :
结构和yield
数据至关重要。代码看起来像这样
batch_size=16
step_ep=data_size//batch_size
def generator():
while True:
for i in range(step_ep):
process your images
X=images
Y=labels
yield X,Y
有形有形X
_ (batch_size,height,width,channel)
_Y
(batch_size,height,width,output_channel)
您应该使用model.fit()
而不是,model.fit_generator
因为它很快就会被弃用。
您还可以为验证数据创建生成器。
你的model.fit()
样子:
model.fit(generator(),epochs,steps_per_epoch=step_ep,
validation_data=val_generator,validation_steps=val_steps)
推荐阅读
- ios - iOS 13 UICollectionViewCompositionalLayout 组中的项目数量无限
- c++ - 如何将 Valgrind 与 Meson 一起使用?
- angular - 无法使用 AngularFirebase 的界面
- javascript - 如何从 Openlayers 的上下文菜单中动态添加/删除功能?
- python - 循环遍历数据框时,Pandas 索引器过多。有没有更简洁的方法来编写我的修复程序?
- micronaut - 带有 cron 表达式的 @Scheduled Expression 有时会执行两次任务
- spring-webflux - 如何在一个 Flux 中获取未出现在另一个 Flux 中的元素
- php - 如何使用 laravel eloquent 获取加载关系的外键名称
- bash - 重定向与管道
- x509certificate2 - 使用 .netstandard 2.0 库创建证书请求