将 TFHUB 中的 TensorFlow 模型加载到 BigQuery 中

Posted

技术标签:

【中文标题】将 TFHUB 中的 TensorFlow 模型加载到 BigQuery 中【英文标题】:Loading Tensorflow Model From TFHUB into BigQuery 【发布时间】:2021-02-24 02:50:34 【问题描述】:

我正在尝试将 https://tfhub.dev/google/universal-sentence-encoder-lite/2 加载到 BigQuery。

我已下载模型并将这些文件移动到云存储桶中:

rwxr-x---@  3  jeffjames  staff       96 May 31  2018 assets
-rw-r-----@  1 jeffjames  staff  1565708 May 31  2018 saved_model.pb
drwxr-x---@  4 jeffjames  staff      128 May 31  2018 variables

然后,我尝试在 BigQuery 中创建模型:

CREATE MODEL jeff_james.uselite
 OPTIONS(MODEL_TYPE='TENSORFLOW',
         MODEL_PATH="gs://my_bucket_path/*")

请注意,文件都在存储桶的根目录中。

但是我收到了这个错误:

Error when loading TensorFlow SavedModel with tag set 'serve': Could not find meta graph def matching supplied tags:  serve . To inspect available tag-sets in the SavedModel, please use the SavedModel CLI: `saved_model_cli`

但是,当我尝试使用 saved_model_cli 时,我没有得到任何有用的信息:


The given SavedModel contains the following tag-sets:

这个模型真的可以加载到 BigQuery 中吗? https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-tensorflow#limitations

【问题讨论】:

【参考方案1】:

不,此模型目前无法加载到 BigQuery。我下载并查看了模型的 meta_graph_def。它没有定义任何标签集。它确实定义了两个签名“default”和“spm_path”。

通常,BigQuery 需要一个名为“serve”的标签集和一个名为“serving_default”的签名,这是大多数 TensorFlow 训练器的常用设置。

旁注,该模型似乎是使用 TensorFlow 版本“1.8.0-rc1”训练的,该版本已有 2.5 年历史。

【讨论】:

谢谢@Chris Meyers - 这很有帮助。

以上是关于将 TFHUB 中的 TensorFlow 模型加载到 BigQuery 中的主要内容,如果未能解决你的问题,请参考以下文章

小白学习tensorflow教程四使用 tfhub中的模型EfficientDet-Lite2 进行对象检测

Tensorflow Keras 多输入模型

解决AttributeError: module ‘tensorflow_gan.python.eval‘ has no attribute ‘classifier_fn_from_tfhub‘

解决AttributeError: module ‘tensorflow_gan.python.eval‘ has no attribute ‘classifier_fn_from_tfhub‘(代码

Tensorflow Hub + Estimator 潜在错误:训练后的权重未重用于评估/预测

Tensorflow 2.0 中 KerasLayer 的 TimeDistributed