java - 使用 Scikit Learn 支持 vector 机在 Android 应用程序中进行预测

标签 java android tensorflow machine-learning scikit-learn

基本上,我使用 Scikit learn 创建了一个图像多分类器,但使用类似于此博文的 Tensorflow 神经网络进行特征提取: https://code.oursky.com/tensorflow-svm-image-classifications-engine/

训练和预测在 python 中工作得很好,但是我现在试图让它在 Android 应用程序中工作,但我不知道如何继续。

我找到了一个用于将 Scikit learn 模型导出到 java 的库:https://github.com/nok/sklearn-porter 所以这可能会在 android 中运行。问题是 SVM 分类器现在需要来自新图像的 2048 维输入特征,而且我不认为 Tensorflow 推理库能够像我在 python 代码中那样使用模型在 Android 应用程序中进行特征提取

有人知道如何在 Android 中实现此特征提取和分类吗?

PS:我使用这种方法是因为它似乎比仅使用 InceptionV3 模型进行分类产生更好的预测结果,就像我之前在项目中所做的那样 https://github.com/pirklbauer31/DiceTracker

最佳答案

我也在 Android 上使用机器学习的项目,在 Android 上使用 scikit-learn 遇到一些问题后,最后我使用了 Weka 库。 Weka 是其他 ML 库,例如 Scikit-Learn,但它是在 Java 上实现的,并且有一个可在 Android 中使用的 .jar: https://github.com/rjmarsan/Weka-for-Android

我没有使用过 SVM,但它包含在 Weka 的代码中,我认为你可以根据你的需要调整它。

希望这对您有帮助。

关于java - 使用 Scikit Learn 支持 vector 机在 Android 应用程序中进行预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49210565/

相关文章:

java - 使用电子邮件创建 bouncycaSTLe PGPSecretKey

java - 如何将ip地址解析为主机名?

android - 无法在 webview 中滚动图像

python - TensorFlow 如何初始化全局步

python - 通过梯度下降在每一步更新的自定义损失函数

java - 增加流畅度 2D 游戏 Java

java - 如何在java中用变量命名数组?

android - 如何在Android中启用接近传感器

java - 让 Actionbar 标签贴在 Fragment 上

python - Tensorflow:从图像中预测一个点,用点标签训练模型