Chainer であっという間に再実装

昼のミーティングまでにやらないといけない仕事があったので、午前3時半に起きて仕事。先週から急に寒くなったので、夜中に起きるのがつらい。とはいえ、昨年とは違い、夜中に起きていると足が痛かったりはしないので、今年はやはり暖冬だと思う。

1歳半を過ぎてイヤイヤ期になって何がしんどいかというと、朝にスルッとオムツを脱いだり服を着替えたりしてくれなくなったことである。代わりにビデオ(「ちいさなプリンセス ソフィア」)を見たがったり、毛布を離さなかったり、あるいは理由はよく分からないがとにかくイヤイヤだったり、かなり時間的に余裕を持って行動をしているのだが、それでも思うように行かず、困惑するばかり。保育園に着いても、中に入ってくれなかったり、入っても靴を脱いでくれなかったり、帽子を取ってくれなかったり、上着を脱がせてくれなかったり、とにかく自分の思うようにしたいようである(親と離れるのが嫌、というのはこれまでもあったが、そういうのではない)。これ、思ったよりきつい……。

午前中は自然言語処理の授業。感情分析の回で、今日は早めに終わるかな?と思ったら意外と時間をフルに使うくらい話すことがあってびっくり。少し昼のミーティングに遅れてしまい、ひやっとしたが、自分よりさらに遅れた人がいたので結果オーライ。こちらのミーティング、参加者の予定が極端に合わず、2週間に1回くらいしか時間が取れないので、今日のミーティングが流れたら年内はあと2回しかチャンスがなかったので、ミーティングできてよかった。

午後は深層学習勉強会の進捗報告と今週の NL 研(情報処理学会自然言語処理研究会)の発表練習。前者は Theano から Chainer に書き直したものが動いたという話だが、Theano での実装に(前処理後処理も入っているとはいえ)結局3-4か月かかっていた手法なので、その経験があるとはいえ同等のものを1-2週間で作れるというのはかなりインパクトがある。Chainer 便利っぽい。

進捗報告のあと、matplotlib や chainer がちゃんと動かないという話のトラブルシューティング。結局いろいろなバージョンの Python や環境が混在しているというのが原因で、古いバージョンのモジュールが残っていたりしたので、pip install --upgrade matplotlib で解決したが、そろそろちゃんと計算機の作業ログなども整備した方がよさそう。松本研では計算機の作業ログを Wiki につけることに加え、既存の環境を変える場合は SNS での事前アナウンスをしていたし、計算リソースを特定の人だけで大規模・長期間占有すると困るので、どの計算機のどのリソース(CPU・メモリ)を何のタスクでどれくらい(量・期間)占有するか、というのを宣言していたが、うちの研究室もそれくらいの規模・レベルになってきた、ということなのかもしれない。もちろん、最初からそういう運用がなされていればいいのかもしれないが、昨年まではほとんどサーバを使う人がいなかったので、これは嬉しい悲鳴である。

計算機に関しては、ちゃんと物理的に購入してローカルで動かすという選択肢の他に、Amazon Web Service など外部のサーバを使う、という選択肢もあり、後者は管理しなくてよい・必要に応じて柔軟にサーバを追加できる・最新の環境が使える、などといった利点はあるのだが、ローカルでサーバを使ったことがない人が突然計算量の見積もりをして使うのは難しかったり、サーバを買ったり管理したりするのも一つの経験だったり、はたまた最新の環境でなくてもハードが手元にあると愛着が湧いたりするので、買うことのメリットもあるように思う。自分で買う必要はないような気がするので、来年度は計算機管理が好きな人(あるいは計算機をたくさん使うので、機材に希望のある人)がいたら見積もりを出してもらおうかなぁ。