Sep 12, 2019 2019 Sliced Wasserstein GMM を実装してみた 最近話題の Sliced Wasserstein Distance (SWD) [Deshpande 2018, Deshpande 2019] を理解するため、 Kolouri らの Sliced Wasserstein Distance for Learning Gaussian Mixture Models (SWGMM) を実装しました。 以前の記事で Wasserstein 距離の解説 を書いたので、こちらも是非ご参照く
Aug 30, 2019 2019 TensorFlow 2.0 で混合ガウス分布 (GMM) を推定する TensorFlow 2.0 の練習を兼ねて、混合ガウス分布 (GMM) を実装しました。 ページの末尾 に EM, Adam, RMSprop の比較アニメーションを載せています。 問題設定 GMM は実数値の観測データ $X
Aug 23, 2019 2019 線形位相空間の原点の近傍が併呑集合であることを証明する 基本的な事柄ですが、証明が見つからなかったので勉強を兼ねて証明してみます。 補題 線形位相空間 (topological vector space, tvs) $X$ において、実数 $a$ と $X$ の任意の元 $x$ の積 $ax$ は
Aug 12, 2019 2019 TensorFlow 2.0 で非負値行列因子分解 (NMF) を解く TensorFlow 2.0 の練習を兼ねて、非負値行列因子分解 (NMF) を実装しました。 問題設定 NMF は非負値行列 $X \in \mathbb{R}^{T \times F}$ を二つの低ランク行列の積 $WH$ で近似するアルゴリズムで、
Aug 7, 2019 2019 TensorFlow 2.0 で Variable を ndarray に変換する TensorFlow 2.0 の Variable を ndarray に変換するには tensorflow.Variable.numpy() を使います。 import tensorflow x = tensorflow.Variable(tensorflow.random.uniform([4, 4])) print(x) y = x.numpy() print(y) $ # macOS Mojave (10.14) + TensorFlow 2.0.0b1 $ python3 sample.py <tf.Variable 'Variable:0' shape=(4, 4) dtype=float32, numpy= array([[0.4963708 , 0.5265337 , 0.645676 , 0.36317182], [0.88785803, 0.6770747 , 0.34829807, 0.7676312 ], [0.64356697, 0.1472162 , 0.6687521 , 0.6949041 ], [0.9588698 ,
Jul 13, 2019 2019 Monge-Kantorovich の問題を SciPy で解く Wasserstein GAN に出てくる最適輸送問題を SciPy で解いてみます。 問題の説明は前回の記事をご覧ください。 問題設定 2つの生産地 A1, A2 から3つの消費地 B1, B2, B3 へ物資を輸
Jul 12, 2019 2019 Wasserstein 計量が距離関数になることを証明する ここでは Wasserstein 計量を最適輸送コストから計算し、この計量が距離の定義(補足 1)を満たすことを証明します。 また、Wasserstein 計量が元の空間
Jul 5, 2019 2019 lldb で関数の呼び出し履歴を表示する lldb で関数の呼び出し履歴(バックトレース)を表示するには、bt コマンドを使います。 #include <stdio.h> void sample1() { printf("sample 1\n"); } void sample2() { sample1(); } void sample3() { sample2(); } int main(void) { sample3(); return 0; } $ # Intel Mac +
Jul 4, 2019 2019 clang でソースコードが依存するヘッダー一覧を表示する ソースコードが依存するヘッダー一覧を表示するには、-MD オプションを使います。 sample.h #pragma once #include <algorithm>sample.cpp #include "sample.h" int main(void) { printf("%d\n", std::min<int>(1, 2)); return 0; } -MF オプションで出力先を指定でき
Jul 2, 2019 2019 carthage のバージョンを確認する carthage のバージョンを確認するには、carthage version コマンドを使います。 $ # M1 Mac (Ventura) + Carthage 0.39.0 $ carthage version 0.39.0 Tweet 参考資料 Carthage https://github.com/Carthage/Carthage carthage 本体を更新する https://yokaze.github.io/2017/10/23/