実現したいこと
scikit-learnで学習した結果をpickle moduleで保存し、そのファイルをC++で開きたいと考えています。
しかし、調べてもなかなか出てこなくそもそもできないんじゃないかと考えています。
どなたか知っている方がいましたらそれについての大まかな方法の回答をお願いします。
よろしくお願いします。
###c++で実行したい or C++からpythonに実行命令を出したいpythonコード
python
1import pickle 2#保存しているpklファイルを読み込む 3with open("model.pkl", "rb") as f: 4 model = pickle.load(f) 5#ここで予測したい値を入れる 6X_test = [[0.0401541,0.155155]] 7#予測結果を出す 8print(model.predict(X_test))
##現在考えられるアプローチ(2パターン)
c++でpython実行
1、c++でpickle moduleを使えるようにする
C++からpythonに実行命令
1、C++から値をを送る
2、受け取った値ををpythonで処理
3、出した値をc++に返す
可能性がある順番
1.C++にpython組み込み(C++でpickle使ってそのまま組み込み)
2.C++からpython1関数をよびだし
3.Boost.pythonを使う
4.pybind11を使う
##環境
windows10
Visual Studio 2017
##解決策(解決しましたが・・・)
C++からPython関数を呼び出して変数を渡して処理した値を返してもらう方法
でできたのですが速度が出なくて現在下のアプローチで試しています。
##現在詰まっている状況(未解決)
C++にPythonを組み込む
ちなみに現在PyFile_FromStringの書き方はpython3では無くなっていたらしく、2系にも落としたのですが最終的にはstr型じゃないからダメ!と言われこの方法はあきらめかけています。
参考にしているサイト
https://stackoverflow.com/questions/35768773/loading-python-pickled-object-in-c

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/16 18:17
2019/03/16 19:38 編集
2019/03/16 21:39
2019/03/17 16:11
2019/03/19 11:10