这可能是一个愚蠢的想法,但如果我采取了错误的方法,请耐心等待并指导我。 我正在研究一个机器学习项目,其模型将给出最终输出,ML 模型的输出将由另一个用 java 编写和维护的项目使用。
典型的 REST 调用流程如下:
- 用户在 UI 上请求一些分类分数。
- UI 系统调用 Java API。
- Java API 从存储系统获取数据。
- 然后它预处理数据并将其呈现给完全用 Python 编写、开发和训练的训练模型。
问题:在制作 ML 模型时,我们有用 python 编写的预处理步骤,数据进入并经过预处理,然后开始模型训练。 在此模型持久化到java可以使用它进行实时预测的位置之后。
思考:是否可以将预处理步骤与模型包装为一个包。 这样在Java端就可以避免预处理了?
我希望你对此有所有的意见,以便更好地处理这种情况。 我不想在两个地方(Python和Java(编写和维护特征工程/预处理步骤。
请指导。
通过使用TensorFlow for Java,可以将预处理步骤模型包装到一个包中,TensorFlow for Java是一种可以补充python模型的机器学习模型。 考虑到您已将Java API连接到UI和系统存储,无需重写它们,或者您可以重用,从而节省时间。
使用 maven 项目构建您的项目
导入相关库,例如Spring RESTful Webservice,Spring JPA Data,Spring Thymeleaf/Angular(UI(和用于ML模型的张量流库
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>1.12.0</version>
</dependency>
我希望这对你有用。