Python Can';t在Keras的ImageDataGenerator中使用预处理_输入作为预处理_函数
当试图提供从CNN软件包(例如keras.applications.resnet)导入的预处理输入时,模型在试图适应生成的数据时会引发错误: “JpegImageFile”对象不可订阅 代码:Python Can';t在Keras的ImageDataGenerator中使用预处理_输入作为预处理_函数,python,keras,Python,Keras,当试图提供从CNN软件包(例如keras.applications.resnet)导入的预处理输入时,模型在试图适应生成的数据时会引发错误: “JpegImageFile”对象不可订阅 代码: Keras版本:2.1.5通过将Keras降级到2.1.4来解决问题: pip uninstall keras pip install keras==2.1.4 或者使用Lambda层添加预处理作为模型的第一步: model.add(keras.layers.Lambda(preprocess_inpu
Keras版本:2.1.5通过将Keras降级到2.1.4来解决问题:
pip uninstall keras
pip install keras==2.1.4
或者使用Lambda层添加预处理作为模型的第一步:
model.add(keras.layers.Lambda(preprocess_input, name='preprocessing', input_shape=(224, 224, 3)))
通过将Keras降级至2.1.4来解决此问题:
pip uninstall keras
pip install keras==2.1.4
或者使用Lambda层添加预处理作为模型的第一步:
model.add(keras.layers.Lambda(preprocess_input, name='preprocessing', input_shape=(224, 224, 3)))
如果问题完全是由使用预处理引起的(并且您仍然可以在不进行预处理的情况下使用
ImageDataGenerator
),还可以创建包装生成器:
def wrapperGenerator(dataGenerator, preprocess):
while True:
x, y = next(dataGenerator)
x = preprocess(x)
yield(x,y)
如果问题完全是由使用预处理引起的(并且您仍然可以在不进行预处理的情况下使用
ImageDataGenerator
),还可以创建包装生成器:
def wrapperGenerator(dataGenerator, preprocess):
while True:
x, y = next(dataGenerator)
x = preprocess(x)
yield(x,y)
我在考虑这个解决方案,但不确定它是否会被Keras适当地并行化。谢谢你的建议!隐马尔可夫模型。。。。然后一个更复杂的方法是实现一个定制的
keras.utils.Sequence
。我考虑过这个解决方案,但不确定它是否会被keras正确地并行化。谢谢你的建议!隐马尔可夫模型。。。。然后一个更复杂的方法是实现一个定制的keras.utils.Sequence
。