【问题标题】:Tensorflow server returns an error when using model on S3在 S3 上使用模型时,Tensorflow 服务器返回错误
【发布时间】:2020-11-17 16:44:50
【问题描述】:

我正在尝试使用 tensorflow 服务器,并成功地在最简单的设置中请求了 half_plus_two 模型示例(请参阅文档here)。通过简单的设置,我的意思是将模型(更准确地说是包含版本子目录和此子目录下的所有模型文件的目录)嵌入到我的 docker 容器中,并使用 model_name 和 model_base_path 作为参数或使用 model_config 文件参数启动 tensorflow_model_server。

当我尝试将模型放在 S3(私有 S3 存储,而不是 AWS)上时,服务器启动并在日志中找到模型:

I tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:403] File- 
system polling update: Servable:{name: half_plus_two version: 1}; Servable path: 
s3://tftest/half_plus_two/1; Polling frequency: 1 

但是,对模型的请求不再成功。我得到的错误是:

Attempting to use uninitialized value b\n\t [[{{node b/read}}]]

这就像使用 S3 没有让模型有足够的时间来初始化它的值。有谁知道如何解决这个问题?

【问题讨论】:

    标签: tensorflow amazon-s3 tensorflow-serving


    【解决方案1】:

    我终于解决了。问题是 S3 内容不正确。它包含所有需要的文件(好的)+目录(不好)。问题的根源是我从 GCP 到 S3 的复制过程。此过程基于 google.cloud 存储客户端。所以当我这样做时:

    blobs = storage_client.list_blobs(bucketName, prefix=savedDir)
    

    并遍历 blob 以复制 S3 中的每个对象,我也在复制目录。显然来自 tensorflow-server 的 S3 连接器不喜欢它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多