You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

驱动疲劳检测模型运行报错:Feedback manager要求单签名推理

解决驱动疲劳检测模型的Feedback Manager警告问题

问题分析

你遇到的警告:

W0000 00:00:1715924294.765512 2256 inference_feedback_manager.cc:114]
Feedback manager requires a model with a single signature inference.
Disabling support for feedback tensors.

根源在于SavedModel导出方式错误,同时模型定义和加载环节也存在几个问题:

  • 直接导出tf.function而非Keras模型,导致签名结构不符合TensorFlow推理反馈管理器的要求
  • 模型定义中部分Dropout层未正确添加到Sequential模型中
  • 模型导出路径与加载路径不匹配

修复步骤

1. 修正模型定义中的Dropout层问题

原代码仅创建了Dropout层对象但未添加到模型中,导致正则化失效,修正后:

# 第一卷积块修正
model.add(Conv2D(16, 3, activation='relu', input_shape=X_train.shape[1:]))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(tf.keras.layers.Dropout(0.3))  # 补充add()将层加入模型

# 第二卷积块修正
model.add(Conv2D(32, 5, activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(tf.keras.layers.Dropout(0.3))

# 第三卷积块修正
model.add(Conv2D(64, 10, activation='relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D())
model.add(tf.keras.layers.Dropout(0.3))

2. 正确导出SavedModel(保留单一推理签名)

不要直接导出tf.function,改用Keras模型的save方法指定服务签名,确保仅存在一个推理签名:

# 定义服务签名
input_signature = [
    tf.TensorSpec(shape=[None, 145, 145, 3], dtype=tf.float32, name='input_tensor')
]

@tf.function(input_signature=input_signature)
def serving_fn(inputs):
    return {"output": model(inputs)}  # 用字典包装输出,提升可读性

# 正确导出模型:使用model.save并指定signatures参数
export_dir = r'E:\system project\project'  # 用原始字符串避免路径转义问题
model.save(export_dir, save_format='tf', signatures={"serving_default": serving_fn})

3. 匹配路径加载模型

加载时使用导出的SavedModel目录(而非.keras文件,二者格式不同):

# 加载SavedModel
loaded_model = tf.saved_model.load(export_dir)
# 获取推理函数
infer_fn = loaded_model.signatures["serving_default"]

# 推理示例
import numpy as np
test_img = np.random.rand(1, 145, 145, 3).astype(np.float32)
result = infer_fn(input_tensor=test_img)
print(result["output"].numpy())

修复逻辑说明

  • 直接导出Keras模型并指定单一签名,符合TensorFlow推理反馈管理器的结构要求,消除警告
  • 修正Dropout层添加逻辑,保证模型正则化机制生效
  • 统一导出/加载路径与格式,避免加载错误

内容的提问来源于stack exchange,提问作者Kamali Kinuthia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 02:43:29