如何配置Tensorflow Serving从HDFS提供模型服务?

时间:2018-08-28 10:03:42

标签: hadoop tensorflow hdfs tensorflow-serving

我正在尝试使用Tensorflow Serving项目在HDFS之外提供Tensorflow模型。

我正在运行tensorflow服务docker容器标签1.10.1 https://hub.docker.com/r/tensorflow/serving

我可以在下面看到引用Hadoop的tensorflow / serving回购 https://github.com/tensorflow/serving/blob/628702e1de1fa3d679369e9546e7d74fa91154d3/tensorflow_serving/model_servers/BUILD#L341

"@org_tensorflow//tensorflow/core/platform/hadoop:hadoop_file_system"

这是对

的引用

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/platform/hadoop/hadoop_file_system.cc

我设置了以下环境变量:

  • HADOOP_HDFS_HOME指向我的HDFS主目录(在我的情况下为/ etc / hadoop)。
  • MODEL_BASE_PATH设置为“ hdfs:// tensorflow / models”
  • MODEL_NAME设置为我要加载的模型的名称

我将Hadoop home安装到docker容器中,可以使用docker exec对其进行验证。

运行docker容器时,我在日志中得到以下内容:

tensorflow_serving/sources/storage_path/file_system_storage_path_source.cc:369] FileSystemStoragePathSource encountered a file-system access error: Could not find base path hdfs://tensorflow/models/my_model for servable my_model

我发现了使用HDFS进行Tensorflow训练的示例,但没有使用Tensorflow Serving从HDFS服务模型。

Tensorflow Serving是否可以从HDFS提供模型? 如果是这样,您该怎么做?

1 个答案:

答案 0 :(得分:1)

BUILD的{​​{1}}中,在model_servers的{​​{1}}下,添加以下行cc_test,如下所示:

get_model_status_impl_test

我认为这可以解决您的问题。

参考:Fail to load the models from HDFS