运行TensorFlow v2.4.1官方Mobilenet.py脚本失败,寻求解决方案
TensorFlow v2.4.1 MobileNet 脚本运行指导
前置环境校验
- 确认本地安装的TensorFlow版本严格匹配v2.4.1,执行以下命令校验版本:
pip show tensorflow
版本不符时执行指定版本安装:pip install tensorflow==2.4.1 - 确认Python版本匹配:TensorFlow 2.4.1仅支持Python 3.6~3.8,高版本Python会直接触发依赖兼容报错。
正确运行方式
该脚本是Keras内置模型的实现文件,不要直接执行原始脚本文件,按使用场景选择对应调用方式:
- 直接调用预训练模型做推理/迁移学习,在你自己的业务代码中调用官方API即可:
import tensorflow as tf from tensorflow.keras.applications import MobileNet from tensorflow.keras.preprocessing import image from tensorflow.keras.applications.mobilenet import preprocess_input, decode_predictions import numpy as np # 加载预训练模型 model = MobileNet(weights='imagenet', include_top=True) # 示例推理 img_path = '你的本地测试图片路径.jpg' img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = model.predict(x) print('预测结果:', decode_predictions(preds, top=3)[0])
- 需要修改MobileNet源码自定义实现的,不要直接运行原脚本,需在脚本末尾添加自定义调用逻辑,同时调整导入路径适配TensorFlow 2.4.1的内部包结构,避免相对导入报错。
常见报错排查
- 报
ImportError类错误:优先核对TensorFlow、Python版本匹配度,避免用高版本TensorFlow运行2.4.1版本的源码。 - 报输入尺寸相关错误:MobileNet默认输入尺寸为224*224,若传入其他尺寸输入需要配套调整
alpha参数,同时设置include_top=False自定义顶层结构。 - 报权重下载失败:可手动下载对应预训练权重放到本地缓存目录,再将
weights参数设置为本地权重文件的绝对路径。
内容的提问来源于stack exchange,提问作者Mohammad anas
相关产品推荐
相关产品推荐

