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

在Vertex AI中部署TensorFlow模型至端点时遇错误求助

解决Vertex AI部署TF Hub EfficientNet Lite0模型的问题

1. 正确导出TF Hub模型为兼容的SavedModel格式

TF Hub上的模型无法直接上传到Vertex AI,必须先导出为标准的SavedModel格式(包含saved_model.pb和variables文件夹)。使用以下代码完成导出:

import tensorflow as tf
import tensorflow_hub as hub

# 加载TF Hub模型
model = hub.KerasLayer("https://tfhub.dev/tensorflow/efficientnet/lite0/feature-vector/2", trainable=False)

# 构建完整的Keras模型,明确输入形状(匹配EfficientNet Lite0要求的224x224x3)
input_layer = tf.keras.Input(shape=(224, 224, 3))
output_layer = model(input_layer)
full_model = tf.keras.Model(inputs=input_layer, outputs=output_layer)

# 导出为SavedModel
export_path = "./efficientnet_lite0_feature_vector"
full_model.save(export_path, save_format="tf")

2. 验证SavedModel目录结构

导出后,目录结构必须满足:

efficientnet_lite0_feature_vector/
├── saved_model.pb
└── variables/
    ├── variables.data-00000-of-00001
    └── variables.index

确保saved_model.pb直接位于根目录下,没有额外嵌套。

3. 上传到GCS并导入模型注册表

  • 将导出的整个文件夹上传到Google Cloud Storage(GCS),路径类似gs://your-bucket/efficientnet-model/
  • 在Vertex AI模型注册表中导入模型时,必须指定包含saved_model.pb的那个目录(即上面的gs://your-bucket/efficientnet-model/),不能选上层目录。

4. 排查部署错误(exit_code 255)

  • 匹配TensorFlow版本与容器版本:部署时选择的Vertex AI模型容器版本要与导出模型使用的TensorFlow版本一致。比如用TF 2.8导出的模型,选择tf2-cpu.2-8或对应的GPU容器。
  • 确认输入签名正确性:导出模型时明确指定了输入形状,确保部署后的端点接收的输入格式与模型要求一致(224x224x3的RGB图像,像素值归一化到[0,1]或模型要求的范围)。
  • 查看详细日志:利用错误提示中的日志链接,查看模型服务器启动失败的具体原因(比如模型加载时的报错、依赖缺失等),这是定位问题最直接的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:25:46