问题描述
对于回归任务,我有 4 个灰度图像,其像素范围为 float32 数据类型。数据范围为:[0 到 790.65]、[ -2.74174 到 2.4126 ]、[ 150.87 到 260.45]、[ -32.927 到 69.333]。
前三个灰度图像用作预测数据并使用以下方法堆叠:
RGB = np.dstack((img1_arr,img2_arr,img3_arr))
创建堆叠图像后,我使用以下代码输入RGB图像和标签图像(上面提到的第四张图像):
batch_size = 32
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator()
img_train_generator = train_datagen.flow_from_directory(
"train/image/",target_size=(128,128),batch_size=batch_size,class_mode= None,color_mode='rgb',shuffle=False)
label_train_generator = train_datagen.flow_from_directory(
"train/label/",class_mode=None,shuffle=False,color_mode='grayscale')
此代码返回训练数据集中的图像数量,但是在执行下一个代码后,我收到一个错误,我正在努力寻找解决方案:
X_train,y_train=next(train_generator)
X_train.shape,y_train.shape
Error: UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x0000026B3A6E2620>
如果我对 RGB 和标签图像使用 unit8 数据类型执行上述分析,一切都很好并且没有错误,但是对于我的回归任务来说,保留图像中的十进制值很重要。
我看到 this post 有几乎类似的问题,但我不确定如何准备新的 ImageGenerator 以加载 float32 图像。
解决这个问题的合理方法是什么?或者有没有其他方法可以处理 CNN 中 float32 数据类型的十进制值?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)