4

由于我没有足够的 GPU,我想在 spark 上部署一个大模型(例如 bert)来进行推理。现在我有两个问题。

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

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

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

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

4

1 回答 1

-1

您可以使用 Elephas ( https://github.com/maxpumperla/elephas ),它可以在 Spark 上对 Keras 模型进行分布式训练和推理。既然你提到它是一个 Tensorflow 模型,这可能需要一个转换(详细在这里:如何将训练有素的 Tensorflow 模型转换为 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

于 2021-06-16T18:44:14.307 回答