NEON
Raspberry Pi 3 も買ったしNEONプログラミングをちゃんとやるか。。
https://people.xiph.org/~tterribe/daala/neon_tutorial.pdf
古めの情報だけどローレベルな情報が得られるのは有り難い。まぁ自分はasm書きは殆どやらないで来たけれど。
https://computer-vision-talks.com/2011-02-08-a-very-fast-bgra-to-grayscale-conversion-on-iphone/
ARM NEON
2015-02-12 の日記と関連
ちょっと興味が出たので再度調査。
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0073a/IHI0073A_arm_neon_intrinsics_ref.pdf
https://developer.arm.com/technologies/neon/intrinsics
断片化気にしないでAArch64 NEONだけ対象にしたいな。。
Windows programming
http://stackoverflow.com/a/1956736/4699324
> Custom drawing an Edit control is essentially impossible.
うぐむむ。。しょうがない。諦めよう。
1 x 1 convolutionについて
http://iamaaditya.github.io/2016/03/one-by-one-convolution/
1 x1 convolution って何の意味があるのか分からなかったのでググってみた。
機械学習
機械学習の自習を自宅でやってみる事にする。
CUDAがよく使われてるのでGTX1070と新しい電源ユニットを購入。
そんなに速くないWiMax2+の回線で色々ダウンロードしてインストールしないといけないので時間が掛かる。
TensorFlow
Windows上でTensorFlow を動かそうと試してみたけれど、うまくいかなかったので一時撤退。。
http://qiita.com/AfricaUmare/items/33d0a5edaa0a9b4b9f36
しかしDockerコンテナのダウンロードって時間が掛かるな。。
新しいSSD買ってUbuntuでやろうかな。。新しい領域での開発って基本的にWindows上では厳しいかも?Microsoftが出してるDeepLearningのソフトならサポートされてるかな。
Chainer
Chainerは色々環境変数とか設定して動かす事が出来た。
http://qiita.com/akrian/items/953082aa8f00479dbb01
https://devtalk.nvidia.com/default/topic/969047/cuda-8-vs2015-corecrt-h-error/
>python train_mnist.py --gpu 0
でデータも自動的に落として実行してくれた。
処理速度は --gpu を付けて実行するとそこそこ速いけどちょっぱやという感じではない。Chainerは柔軟さが売りみたいなので、お猿さんのようにmnistだけとにかく速く実行させようとは頑張ってないのかも。
https://www.oreilly.com/learning/complex-neural-networks-made-easy-by-chainer
コマンドプロンプト上で実行すると表示がおかしかったりするし、
Estimated time to finish: 0:00:00.
とか最後に出たりするけど、bash上で実行しないと駄目かも。というかChainerも推奨環境はUbuntuかCentOSだからWindows上でやるのは良くなさそう。
The Microsoft Cognitive Toolkit
MicrosoftのCNTKはバイナリパッケージのファイルサイズがCPU版で144MBでGPU版は400MB以上ある。10MBくらいでなんとかならないもんだろうか…。
雑感
ちょっと環境構築が単なるアプリに比べると面倒くさい。ダウンロードするファイルのサイズが大きいのは、後から落とすデータセットの容量を考えると誤差みたいなものかもしれないけど。。
機械学習関連をちょっと試してみたい人は世界中に何百万人といるだろうし、クラウドサーバーで計算資源やデータセット等、みんな共通のものを分け合った方が資源の節約にもなるし快適なのかも。。