如何在本地使用从Vertex AI导出的表格模型预测新数据
本地运行Vertex AI表格模型预测的解决方案
前提说明
Vertex AI训练的表格模型(包括AutoML和自定义训练的表格模型)下载后通常是TensorFlow SavedModel格式,需基于TensorFlow环境完成本地预测,核心是复刻训练时的预处理逻辑并正确加载模型。
具体步骤
确认本地模型结构
检查下载的模型目录,确保包含saved_model.pb文件和variables文件夹,这是标准SavedModel的标识。加载本地模型
使用TensorFlow加载模型并获取预测签名(通常为serving_default):import tensorflow as tf # 替换为你的本地模型路径 model_path = "/your/local/model/directory" loaded_model = tf.saved_model.load(model_path) predict_fn = loaded_model.signatures["serving_default"]复刻预处理逻辑
新数据的预处理必须和训练阶段完全一致,否则预测结果无效,常见处理包括:- 数值特征:用训练时的统计值(均值、标准差)做归一化/标准化
- 类别特征:采用训练时的编码方式(独热、哈希、标签编码)
- 缺失值:使用训练时的填充策略(均值、众数、特定值)
提示:如果是AutoML表格模型,可查看模型目录下的
metadata.json文件获取预处理规则,或在训练完成后导出预处理管道。构造模型输入
将预处理后的特征转换为符合模型签名的TensorFlow张量或字典:# 示例:预处理后的特征字典,键为特征名,值为对应数据的张量 input_features = { "age": tf.convert_to_tensor([28, 42], dtype=tf.float32), "occupation": tf.convert_to_tensor(["engineer", "teacher"], dtype=tf.string) }执行预测并解析结果
调用预测函数获取结果,根据任务类型(分类/回归)解析输出:predictions = predict_fn(**input_features) # 分类任务通常取"predictions"键,回归任务同理,可通过predictions.keys()查看所有输出 print(predictions["predictions"].numpy())
关键注意事项
- 本地TensorFlow版本需与训练时Vertex AI使用的版本一致,避免兼容性报错
- 若模型包含复杂的自定义预处理逻辑,需在训练阶段将预处理步骤嵌入模型(如用Keras预处理层),否则需手动复刻所有步骤
- AutoML表格模型下载后可能附带
schema.pbtxt文件,可从中查看输入特征的类型和约束
内容的提问来源于stack exchange,提问作者Doha Albared
相关产品推荐
相关产品推荐

