日記20180506

日記じゃ。

Pycon mini Osakaの資料作り

資料を作った。7割くらい出来たけど、資料を作ってるとまたアーキテクチャを変えたり色々と実験したくなるので資料が進まない。
あと、資料にアーキテクチャ図を書こうと思ってTensorboardのグラフを載せようと思ったけどグラフの流れは縦向きなので如何せんスライドに貼りずらい。
Tensorboardのグラフは横向きに出来ないのか?




Tensorflowのデバイスのログ出力

Tensorflowのデバイス(CPU,GPU)のログ出力をするにはSessionで設定すれば良い。

import tensorflow as tf

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

print(sess.run(c))

出力

2018-05-06 22:58:47.845758: I tensorflow/core/common_runtime/placer.cc:886] MatMul: (MatMul)/job:localhost/replica:0/task:0/device:CPU:0
b: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-05-06 22:58:47.845783: I tensorflow/core/common_runtime/placer.cc:886] b: (Const)/job:localhost/replica:0/task:0/device:CPU:0
a: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-05-06 22:58:47.845808: I tensorflow/core/common_runtime/placer.cc:886] a: (Const)/job:localhost/replica:0/task:0/device:CPU:0

[[22. 28.]
 [49. 64.]]

インタープリタでやるとこれで良いのだがupyter notebook上で実行するとlogは出力されない・・・
あれ?って思ってjupter notebookのログを見るとそっちに出力されてた。
なんとかしてjupyter notebookで表示しようと思ったけど、C++のエラー標準出力は表示されないだと・・・
stackoverflow.com




分散表現という言葉

単語の埋め込みを分散表現(Distributed representation)とも言うが「分散」ってなんだ?って思って調べたけどなんか深そうだった。
一応、one-hotベクトルじゃなくて複数成分で単語を表現出来ているときに分散表現と呼ばれていると言える。
分布仮説との関係、認識の類似性としての表現、word2vecのように計算ができることなど色々な側面があってちゃんとまとめる必要がありそう。