微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从GCS存储桶加载TensorFlow模型

如何解决如何从GCS存储桶加载TensorFlow模型

问题:当前,我在GCS中有一个公共存储桶,用于存储TensorFlow模型,并且我希望在不进行任何身份验证的情况下将这些模型加载到python脚本中。我将如何去做?

模型位于具有以下结构的文件夹中:

my-bucket
├── model_1
|   ├── assets
|   |   └── (this is an empty folder)
|   ├── saved_model.pb
|   ├── variables
|   |   ├── variables.data-00000-of-00001
|   |   └── variables.index

我知道我可以使用

tf.keras.models.load_model("gs://my_bucket/model_1")

但这需要验证,即使存储桶是公共的。

注意:我使用的是Python Tensorflow,而不是tensorflow.js

解决方法

您确定存储桶中的对象也是公共的吗?一个简单的检查,看是否是这种情况:

gcloud auth revoke --all
gsutil ls -r gs://my-bucket

另一种可能性是,即使存储桶是公共的,您也需要一个帐户密钥。 keras文档说以下内容:

GCloud身份验证完全通过您的身份验证进行 密钥,无项目说明。使用示例工作流程 “全部放置”中提供了笔记本的TensorFlow Cloud 一起”。

这意味着即使存储桶是公共的,您也需要一个帐户密钥。这意味着您只需要使用以下命令登录到自己的gcp帐户:

gcloud auth application-default login

最后一个选项(还有很多工作)是,您可以使用google-cloud-storage客户端从存储桶本地下载模型,而无需进行身份验证。然后从本地目录加载模型。当然可以,但这是最不可行的选择。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。