Pythonのnumpyで機械学習の行列計算を書く代わりにOpenCV(C++)のcv::Matが使えないだろうか?
例えばpythonだと2行2列の行列の内積の計算は次のように書く。
import numpy as np A=np.array([[1,2],[3,4]]) B=np.array([[5,6],[7,8]]) X=A.dot(B)
OpenCVのcv::Matを使って書くと、ちょっと冗長になる。
float data_A[2][2]={{1,2},{3,4}}; float data_B[2][2]={{5,6},{7,8}}; Mat A(2,2,CV_32FC1,data_A); Mat B(2,2,CV_32FC1,data_B); Mat X(2,2,CV_32FC1); X=A.dot(B);
2次元の行列までならばOpenCVでもなんとかなりそうな気がする。
簡単な機械学習/Deep Learningのプログラムなら書けそうかなあ。