OpenVINO无法转换MLP Mixer TensorFlow模型的问题求助
解决OpenVINO转换MLP Mixer模型的错误问题
错误原因分析
- 字符串张量警告:模型中包含
saved_filename这类字符串常量节点,OpenVINO推理引擎不支持字符串字面量,需从计算图中排除这类节点。 - 核心转换错误:使用
--input_shape参数时未配合--input指定目标输入节点,而模型存在多个占位符(serving_default_input_1和saver_filename),转换工具无法判断要修改哪个节点的形状。
解决方案
1. 修正模型转换命令
在原命令基础上添加--input参数,明确指定推理用的输入节点,让转换工具忽略无关的字符串占位符:
mo --data_type FP16 --saved_model_dir C:\Users\john0\Desktop\mlp --input "serving_default_input_1" --input_shape "(1,150,150,3)"
2. 优化SavedModel导出(可选)
若警告仍存在,建议重新导出仅包含推理逻辑的SavedModel,避免携带训练相关的保存节点:
import tensorflow as tf from your_model_module import MlpMixer # 替换为实际模型类 # 加载训练好的模型 model = MlpMixer(input_shape=(150,150,3), num_classes=...) # 匹配你的模型参数 model.load_weights("path/to/weights.h5") # 导出仅用于推理的模型 tf.saved_model.save(model, "path/to/inference_model", signatures={"serving_default": model.call})
内容的提问来源于stack exchange,提问作者TseHsien
相关产品推荐
相关产品推荐

