【问题标题】:How to deploy tensorflow model on spark to do inference only如何在 Spark 上部署 TensorFlow 模型仅进行推理
【发布时间】:2019-11-12 22:48:18
【问题描述】:

我想部署一个大模型,例如伯特,因为我没有足够的 GPU,所以在火花上做推理。现在我有两个问题。

  1. 我将模型导出为 pb 格式并使用 SavedModelBundle 接口加载模型。
SavedModelBundle bundle=SavedModelBundle.load("E:\\pb\\1561992264","serve");

但是,我找不到为 hdfs 文件系统路径加载 pb 模型的方法

  1. spark 环境的 Glibc 版本与我训练模型的 tensorflow 版本不兼容。无论如何要绕过这个?

我不确定这是在 spark 上提供 tensorflow 模型的好方法。任何其他建议表示赞赏!

【问题讨论】:

    标签: java apache-spark tensorflow hdfs serving


    【解决方案1】:

    您可以使用 Elephas (https://github.com/maxpumperla/elephas),它支持在 Spark 上对 Keras 模型进行分布式训练和推理。既然你提到它是一个 Tensorflow 模型,这可能需要一个转换(详细在这里:How can I convert a trained Tensorflow model to Keras?),但是一旦它是一个 Keras 模型,它应该很简单:

    from elephas.spark_model import SparkModel
    
    
    model = ... # load Keras model
    data = ... # load in the data you want to perform inference on
    spark_model = SparkModel(model)
    predictions = spark_model.predict(data) # perform distributed inference on Spark cluster or local cores, depending on how Spark session is configured
    
    

    【讨论】:

    • 这个问题可以在 Java 中使用吗?因为问题是用 Java 标记的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    相关资源
    最近更新 更多