这可能是一个愚蠢的想法,但是如果我采用错误的方法,请忍受并指导我。 我正在研究一个机器学习项目,该项目的模型将提供最终输出,而ML模型的输出将由另一个用Java编写和维护的项目使用。
REST调用的典型流程如下:
问题:制作ML模型时,我们有用python编写的预处理步骤,数据进入并进行了预处理,然后开始了模型训练。 将模型保留到Java可以用来进行实时预测的位置之后。
思路:是否可以将模型的预处理步骤打包为一个包。 这样在Java端就可以避免预处理?
我希望您对此有所有意见,以便更好地处理此情况。 我不想在两个地方(Python和Java)编写和维护功能工程/预处理步骤。
请指导。
答案 0 :(得分:0)
可以使用TensorFlow for Java将预处理步骤模型包装到一个程序包中,Spark SQL API是可以补充python模型的机器学习模型。 考虑到您已经将Java API连接到UI和系统存储,因此无需重写它们,也可以重复使用,从而节省了时间。
使用maven项目构建项目
导入相关库,例如用于ML模型的Spring RESTful Web服务,Spring JPA数据,Spring Thymeleaf / Angular(UI)和张量流库
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>1.12.0</version>
</dependency>
我希望这对您有用。