Jepを使用してPythonとJavaの統合を試みています。Jepを使用してJavaプログラムからsklearn.ensemble.forest.RandomForestClassifierオブジェクトとしてpickleファイル(rf.pkl)からrandomforestモデルをロードしました。このロードを1回にして、pythonスクリプトprediction.pyで定義されたpython関数を実行したい(rfモデルを使用して予測する)ために、Javaから「rfmodel」引数を送信してpython関数を呼び出します。しかし、java から python に送信された引数は、python では文字列として読み取られます。Pythonで引数のデータ型をsklearn.ensemble.forest.RandomForestClassifierとして保持するにはどうすればよいですか?
Jep jep = new Jep();
jep.eval("import pickle");
jep.eval("clf = pickle.load(open('C:/Downloads/DSRFmodel.pkl', 'rb'))");
jep.eval("print(type(clf))");
Object randomForest = jep.getValue("clf");
jep.eval("import integration");
jep.set("arg1", requestId);
jep.set("arg2", randomForest);
jep.eval("result = integration.trainmodel(arg1, arg2)");
------------
python.py
import pickle
def trainmodel(requestid, rf):
//when rf is printed it is 'str' format.