C++メインで作られているシステムからchainerだったり、scikit-learnだったりを使って機械学習をしているPythonモジュールを呼び出しとデータをやりとりさせたいとします。 すると、C++の入力データ(n次元array)をnumpyに変換してPythonに渡し、Pythonからnumpyで返ってくるデータを解釈する必要があります。 はじめはC++からPythonにデータを引き渡すため、評判がいいprotobufを使おうとしました。 protobuf自体はイケてるのですが、 C++ array→protobuf→numpy とまあ変換変換でなんか冗長で嫌です。 また、C++からは普通の二次元配列(double* num[]のような)を渡して、Python側でnumpyに変換する方法もありますが、C++側のarrayも単純な二次元配列と限らずEigenだったりCvmatだったり