Chainerでデータのwhitening(Qiita)

Qiitaに記事を書きました。Chainerのimagenetサンプルで、画像のwhiteningを含むデータ拡張を行うようにした、という内容です。 Chainerのimagenetサンプルで学習データの拡張/whitening いろいろあって、TensorFlowよりもChainerを当面使っていこうという気分になったので、TFでできていたことをChainerでやらせようという試みです。 TFのCIFAR-10デモをCPUとGPUで動かしてみると、思ったほど速度が出ないんですよね…TFが分散ありきのアーキテクチャで、それなりにCPU-GPU間のコピーが発生してるようで、それがボトルネックなのかなあという気がしています。 ちょうど昨日になってTensorFlow 0.7.0が出たようです。そこでパフォーマンスがどう変わったのかは確認したいところです。また、Distributed TensorFlowが出るという発表もあったようです。 今個人で使えるGPUつきマシンがMac miniしかなくて、GPUがATIなのでこのあたり全然使えないのが残念です。

NAS生存確認

VGAが映らないと思っていたhp microserverは生きていました。単にディスプレイ側のVGAケーブルが緩んでいるというくだらないオチでした。 hpのマニュアルに「接触不良の確認」という項目が複数あったので、もしやと試したら見事にそれがヒットしました。基本的なところをきちんと確認しようと改めて思いました。 もしかするとルーターマシンもマザーボードはまだ生きている可能性が出てきたので、確認したいところです。

PCルーターとNAS死亡

自宅で使っているPCルーターのHDDがは、1か月ぐらい前からSMARTが警告を発するようになったので、入れ替えようとしたら死んでしまいました。ついでにNASも使えなくなりました。 ルーターの中身は普通のmicro ATX、Haswell世代のマシンだったのですが、ファンは回れどBIOS画面まで到達しない状態になってしまいました。PCルーターはいろいろなアプリケーションサーバーを兼ねていたので、死なれてしまうと非常に困ります。 そこでNASとして稼働していたhp microserver(初代)を代理として利用することを考えたのですが、こちらはこちらでVGAからの出力が出なくなってしまいました。電源は入るしヘルスLEDは正しく青が点灯するのですが… 今のところ、HDDをUSB経由で余っていたノートPCに接続してその場をしのいでいます。ごく普通にUSB起動させ、内蔵NICのfirmware+kernel moduleを使うことでなんとかなっています。 マザーボード自体、電源、ケースなど怪しいところが多いので、この機会に新しいパーツをそろえようと思います。特にケースは10年ぐらい使っていると思うので寿命だと思った方がよさそうです。 microserverの方は…一度ばらして各部の接触不良をチェックしつつサポートに連絡して、いざとなったらリモートアクセスカードを追加することを考えています。あるいは単純にケースだけをHDDのエンクロージャ代わりにするのもありかもしれません。

sshの設定をホスト名prefixで分ける

一時期、「最強のSSH踏み台設定」という記事が話題になりました。.ssh/configのHost設定でスラッシュを区切り文字とすることで、動的な踏み段設定ができるというものです。 この手法を応用して、基本的にProxyCommandが必要な環境下で動的に変わるIP相手に対し、アドレスにprefixを付けることで常にあるProxyCommandを実行させるような設定を行ってみました。 ssh aws-u_xxx.yyy.zzz.wwwとすれば常に特定のユーザー、鍵、Proxy経由で接続するようになります。区切り文字にアンダースコアを使っているのは、スラッシュを使った場合にscpでホスト名と判断されない場合があったからです。ssh, sftpコマンドではスラッシュでも特に問題ありません。