如何在java/android中解钩一个与c、c++和python链接的类?

wlzqhblo  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(229)

我正在使用一个基于机器学习和统计的分类器,称为evm(极值机器),使用linkhttps://pypi.org/project/evm/. 我用python训练模型,并用下面的代码将其保存为pickle文件。

import EVM
import pickle
mevm = EVM.MultipleEVM(tailsize=300, cover_threshold = 0.7, distance_multiplier = 0.7, distance_function = scipy.spatial.distance.euclidean)
mevm.train([trainX[i] for i in list(trainX.keys())])

# Save the trained model

with open('model.pkl','wb') as f:
  pickle.dump(mevm,f)

我可以使用相同的pickle模块轻松地在python中加载相同的模型。当我保存时,所有的权重都保存在pickle文件中,我可以做如下推断,

import pickle
import EVM
with open('model.pkl','rb') as b:
     mevm = pickle.load(b)
print("Probability of given input", mevm.max_probabilities([embeds[i]]))

但是我无法在android/java中读取相同的pickle文件(我想在我的android应用程序中使用这个保存的模型)。当我检查evm类时,有一个c文件和一个c文件,这两个文件是使用“.pyx”文件连接的。所有这3个文件都是使用python evm(即import evm)类读取的。请参考下面的链接获取文件https://pypi.org/project/evm/#files
我的问题是
如何在android/java中读取这个保存的模型?
既然这是与c、c
和python相联系的,那么用java阅读是否可能呢?
有没有其他更好的方法来保存这个,这样我就可以使用andriod/java了?
任何线索都很感激。
提前感谢:)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题