luggage baggage

Machine learning, data analysis, web technologies and things around me.

2018-01-01から1年間の記事一覧

cv::Mat を protocol buffer に格納する (C++ で OpenCV & protobuf)

この記事では、C++ で OpenCV を使いつつ、cv::Mat に格納されたバイナリデータを protocol buffer に格納しシリアライズする方法を書いていきます。画像認識系のアルゴリズムを作る際、カメラデバイス上では C++ を使ってフレームを取得し、サーバ上の Pyth…

メモ:行列式の補題(matrix determinant lemma)

論文を読んでいて matrix determinant lemma の証明が思い浮かばなかったのでメモ(情けない。。)。内容としては、適当な次元の単位行列 と、それと同じ次元のベクトル に対して \begin{equation} \det(I+uv^T) = 1 + v^Tu \end{equation}が成り立つ、とい…

Mac のターミナル上で docker コンテナにて作業をすると勝手に折り返されたり表示がおかしくなる現象の対処

Mac で iTerm などを使ってターミナルを開き、(SSH 経由でサーバ上の)docker コンテナをおもむろに立ち上げた際、 設定されているはずの列数よりもかなり少ないところで表示が折り返されてしまい、画面上で長めのコマンドを打つのが難しくなる Python コン…

TensorFlow Probability で VAE (Variational AutoEncoder): TFP 入門所感、tfp.distributions の初歩

最近になり、TensorFlow の肩に乗って確率的プログラミングをするためのライブラリ TensorFlow Probability (TFP) v0.5 がリリースされました。私は画像系タスクを TensorFlow を使って解くことが多く、特にこの記事では、画像生成系タスクに取り組むための…

多変数クラメル・ラオの不等式の証明(フィッシャー情報量の意味づけの一つ)

統計学の分野で、クラメル・ラオ (Cramer-Rao) の不等式と呼ばれる有名な式があります: \begin{equation} V(t(z)) \geq \frac{1}{I(\theta)}. \end{equation}ここで は確率変数で、一つのパラメータ で指定される確率分布 に従って生成されると仮定します。…

julialang でカルマンフィルタを書く

最近カルマンフィルタの勉強を少ししており、行列を含む数式を素直にプログラムできる言語があるといいなと感じていました。Python を長年書いてきたものの、毎回 numpy.array を用意したり numpy 関数を呼んだりするのが少し面倒になってきました。そこで今…

multiprocessing で tfrecord 作成を高速化する話

お久しぶりです。TensorFlow でモデル学習をする際、便利に使われるのがtf.dataAPI です。以前はtf.contribで提供されていましたが、非常に使い勝手の良い機能だったこともあり、現在は独立したモジュールとして存在しています。様々な形式のデータ入力に対…

Python 機械学習コードを Cython でラップして C/C++ から使う

お久しぶりです。吉田弁二郎です。Cython という便利なトランスパイラ(言語と言語の中間にある言語のようなもの)があります。Python ライクな文法で書ける Cython スクリプトは C/C++ コードに変換・コンパイルされた後に Python から呼び出し可能で、C/C+…