[英]zero-size array to reduction operation maximum which has no identity for multi output U-net
Im trying to use U-net to do multi task label segmentation following this stackoverflow im note sure what Im doing wrong , this is a part of the code我正在尝试使用 U-net 在此stackoverflow之后进行多任务标签分割,请注意确定我做错了什么,这是代码的一部分
def trainGenerator(batch_size,train_path,image_path, sub_path1, sub_path2, aug_dict,image_color_mode = "rgb",image_folder='image', mask_folder="label",
mask_color_mode = "grayscale",image_save_prefix = "image",mask_save_prefix = "mask",flag_multi_class = False,num_class = 2,save_to_dir = None,target_size = (224,224),seed = 1):
'''
can generate image and mask at the same time
use the same seed for image_datagen and mask_datagen to ensure the transformation for image and mask is the sameTO visualize the results of generator, set save_to_dir = "your path"
'''
image_datagen = ImageDataGenerator(**aug_dict)
mask_datagen = ImageDataGenerator(**aug_dict)
image_generator = image_datagen.flow_from_directory(
image_path ,
classes = [image_folder],
class_mode = None,
color_mode = image_color_mode,
target_size = target_size,
batch_size = 2,
save_to_dir = save_to_dir,
save_prefix = image_save_prefix,
seed = seed)
mask_generator1= mask_datagen.flow_from_directory(
sub_path1,
classes = [mask_folder],
class_mode = None,
color_mode = mask_color_mode,
target_size = target_size,
batch_size = 2,
save_to_dir = save_to_dir,
save_prefix = mask_save_prefix,
seed = seed)
mask_generator2 = mask_datagen.flow_from_directory(
sub_path2,
classes = [mask_folder],
class_mode = None,
color_mode = mask_color_mode,
target_size = target_size,
batch_size = 2,
save_to_dir = save_to_dir,
save_prefix = mask_save_prefix,
seed = seed)
train_generator = zip(image_generator, mask_generator1, mask_generator2 )
for (img,mask1, mask2) in train_generator:
img,mask1 = adjustData(img,mask1,flag_multi_class,num_class)
img,mask2 = adjustData(img,mask2,flag_multi_class,num_class)
yield (img,mask1, mask2)
and not sure if my sub directories are in the right order or not并且不确定我的子目录的顺序是否正确
myGene = trainGenerator(2,train_path,image_path,sub_path_1, sub_path_2, aug_dict=data_gen_args,save_to_dir = None)
history= model.fit_generator(myGene,steps_per_epoch=3240,epochs=150,callbacks=[model_checkpoint])
where the directories are as following其中目录如下
image_folder= "data\\membrane\\train\\image_path\\image"
mask_folder1="data\\membrane\\train\\sub_path1\\label"
mask_folder2="data\\membrane\\train\\sub_path2\\label"
this is the error Ive got error I dont know why all the labels has been detected in the both mask folders meanwhile the images in the image folder are 0这是错误我有错误我不知道为什么在两个掩码文件夹中都检测到所有标签同时图像文件夹中的图像为 0
please any help will be appreciated请任何帮助将不胜感激
I found the solution i just changed the line我找到了解决方案,我只是改变了线路
myGene = trainGenerator(2,train_path,image_path,sub_path_1, sub_path_2, aug_dict=data_gen_args,save_to_dir = None)
to到
myGene = trainGenerator(2,'image_path',sub_path1, sub_path2, aug_dict=data_gen_args,save_to_dir = None)
and the fit_generator worked perfectly并且 fit_generator 完美运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.