如何解决如何从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 举报,一经查实,本站将立刻删除。