データや学習されたパラメータの中身がどうなっているか簡単に知りたい時,
MATLABでは surf() や pcolor()
があって可視化できますが, 普通の Unix コマンドラインからは使えないので,
普通はなかなか実際には見ないことが多いような気がします。
が, Matplotlib を使うと, 下のような簡単なコードを書くだけで, テキストファイル
に書かれた行列形式のデータを画像に直すことができるのに気付きました。
#!/bin/env python
"""
imshow: save a matrix as image.
$Id: imshow,v 1.1 2013/11/08 03:44:34 daichi Exp $
"""
from pylab import *
import sys
import numpy as np
if (len(sys.argv) != 3):
print 'imshow -- save a matrix as an image.'
print '$Id: imshow,v 1.1 2013/11/08 03:44:34 daichi Exp $'
print 'usage: imshow matrix output.{png,pdf,eps..}'
exit(0)
else:
X = np.loadtxt(sys.argv[1])
imshow(X, aspect='equal', interpolation='none')
savefig(sys.argv[2])
1.2 3.7 4.2 .. のように数値が書かれたファイルに対して
% imshow file file.png や % imshow file file.eps とするだけで, 中身が画像で
わかります。下は前にNL研で喋った連続トピックモデルの潜在層ベクトルを可視化した
もの。
パラメータやデータの中身は大きいと直接見ることが難しいため, 実際にどうなって
いるか知らないことが多いような気がしますが, こうやって簡単に見れるように
しておくと, 分かることが増えるように思います。(緑=+の値, 赤=-の値)