AttributeError:模块“ keras.applications.mobilenet”没有属性“ preprocess”

问题描述

我已经导入了预处理模块,但是它不断显示相同的错误。我应该如何解决这个错误? 需要帮助解决错误

导入的库如下所示

import tensorflow as tf
import keras
from tensorflow.keras.preprocessing import image_dataset_from_directory
from keras.preprocessing.image import ImageDataGenerator
from keras.applications import MobileNet
from keras.applications.mobilenet import preprocess_input

图像准备

train_path = 'eggplant/training'
test_path = 'eggplant/testing'
valid_path = 'eggplant/validation'

train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(train_path,target_size=(224,224),batch_size=10)
train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(valid_path,batch_size=10)
train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(test_path,batch_size=10,shuffle=False)

下面给出了错误

AttributeError                            Traceback (most recent call last)
<ipython-input-17-fc384b61e2b7> in <module>()
----> 1 train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(train_path,batch_size=10)
      2 train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(valid_path,batch_size=10)
      3 train_batches = ImageDataGenerator(preprocessing_function = keras.applications.mobilenet.preprocess.input).flow_from.directory(test_path,shuffle=False)

AttributeError: module 'keras.applications.mobilenet' has no attribute 'preprocess'

解决方法

您应该使用preprocess_input而不是preprocess.input。同样,您还需要将flow_from.directory更改为flow_from_directory