月別アーカイブ: 2016年2月

Chainerでデータのwhitening(Qiita)

Qiitaに記事を書きました。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を実行させるような設定を行ってみました。


Host aws-u_*
  User ubuntu
  IdentityFile /path/to/key.pem
  ProxyCommand socat - PROXY:proxy.host.name:$(echo %h|cut -f 2 -d _):%p,proxyport=8080

ssh aws-u_xxx.yyy.zzz.wwwとすれば常に特定のユーザー、鍵、Proxy経由で接続するようになります。区切り文字にアンダースコアを使っているのは、スラッシュを使った場合にscpでホスト名と判断されない場合があったからです。ssh, sftpコマンドではスラッシュでも特に問題ありません。