python - AttributeError:“函数”对象没有属性“预处理输入”
问题描述
我想试试 MobileNetV2 的预测。我总是收到一条错误消息,但我不知道要更改什么。
import keras
from keras import backend as K
from keras.preprocessing.image import ImageDataGenerator
from keras.preprocessing import image
from keras.applications import imagenet_utils
from keras.layers import Dense,GlobalAveragePooling2D
from keras.applications.mobilenetv2 import decode_predictions
from keras.applications.mobilenetv2 import MobileNetV2
from keras.applications.mobilenetv2 import preprocess_input
import numpy as np
from IPython.display import Image
from keras.optimizers import Adam
mobilenet = MobileNetV2()
def process_image(img_path):
img = image.load_img(img_path, target_size=(224, 224))
img_array = image.img_to_array(img)
img_array = np.expand_dims(img_array, axis=0)
pImg = MobileNetV2.preprocess_input(img_array)
return pImg
process_image(IMG_PATH)
这是错误消息。
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-29-6cdb09c1b552> in <module>()
----> 1 process_image('IMG_PATH')
<ipython-input-28-1b1187d4c25c> in process_image(img_path)
3 img_array = image.img_to_array(img)
4 img_array = np.expand_dims(img_array, axis=0)
----> 5 pImg = MobileNetV2.preprocess_input(img_array)
6 return pImg
AttributeError: 'function' object has no attribute 'preprocess_input'
也许有人可以帮助我。
解决方案
如果您查看keras_applications/mobilenet_v2您会发现 MobilNetV2 没有属性 preprocess_input
您可以从 mobilenet_v2 导入 preprocess_input:
from keras.applications.mobilenetv2 import preprocess_input
那么你可以使用:
pImg = preprocess_input(img_array)
推荐阅读
- spring - JPA findByAttributeName 方法不起作用
- nosql - Result-Set Query Scale 如何在 Google Cloud Datastore 中完成
- c# - 使用 selenium 作为 Android 设备打开网站
- c# - 从 ASP.NET 应用程序中删除 ASP.NET_SessionId
- reactjs - ComponentWillUnmount 取消订阅 Firestore
- python - 为什么 PIL 的 ImageFont 无法在 Python 中加载印度尼西亚字体?
- powershell - 在 Powershell Export-Csv 文件中获取额外文本
- apache-spark - 在 read.csv 期间使用限制的 Spark 推断架构
- javascript - Truclient - 如何将击键发送到无序列表
- 元素
- azure - 是否始终需要对(Azure Blob 存储)存档层进行再水化?