まんぼう日記

takataka's diary

Theano の検索結果:

Theano で GPU 使って Convolutional Neural Net

大石東バイパスとTheanoでGPGPU - まんぼう日記 では,Theano ( Welcome — Theano 0.7 documentation ) で多層パーセプトロン(MLP)の学習プログラムを作り,GPU上で動かすとCPUのみの場合よりも速いことを確認しました.今度は,Convolutional Neural Net (CNN) です. これまでの経緯 Theano で MLP & CNN (3) - まんぼう日記 で,CIFAR-10 という画像データセット(…

大石東バイパスとTheanoでGPGPU

…ち遠しい (^^) TheanoでGPGPUの話 昨日無事に GPGPU 用マシンの設定ができた( 続 GPGPU用マシンにCUDAをインストール - まんぼう日記 )ので,早速ニューラルネットの学習の実験をやってみました.ハード/ソフトの環境についてはリンクを辿ってください. プログラムの作成というか修正 以前,Theanoで多層パーセプトロン(MLP)の学習をするプログラムを作って,MNIST の手書き数字認識の実験をやったことがあります( cf. Theano で ML…

続 GPGPU用マシンにCUDAをインストール

…をインストールして Theano を使えるようにする - まんぼう日記 GPGPU用マシンにCUDAをインストール - まんぼう日記 のつづき.無事 CUDA をインストールして, Theano で GPGPU できました. 結論から言うと… 前回( GPGPU用マシンにCUDAをインストール - まんぼう日記 )は,Theano のページの情報( http://deeplearning.net/software/theano/install_ubuntu.html#cont…

GPGPU用マシンにCUDAをインストール

…をインストールして Theano を使えるようにする - まんぼう日記 の続きです.CUDA を入れて Theano で GPU 使う実験する話,になるはずでしたが,紆余曲折のあげくそこまでたどり着きませんでした.タイトルに偽りありです…すいません (^^;; 成功した後でうまくいった手順を要領よくまとめて書くとかそういうんはちゃんとした人におまかせして,へっぽこたかたかは右往左往 \(@_@;\ ... /;@_@)/ してる様子をだらだら書き記します. 2015-06-1…

GPGPU用マシンに Ubuntu をインストールして Theano を使えるようにする

…0分確保できたので,Theano を使えるようにする作業.なんも考えんと, Easy Installation of an Optimized Theano on Current Ubuntu — Theano 0.7 documentation で言われてるとおり apt-get で Numpy そのほかを入れて,pip で Theano を入れるだけ.あっという間です. ついでに,Linux マシンに Dropbox をインストール からインストーラを入れて,Dropbo…

Theano 0.7 / 桜定点観測(5)

Theano 0.7 で overlap ありの max-pooling & down-sampling Theano 0.7 が出ましたね. Welcome — Theano 0.7 documentation MacPorts でも 0.7 がインストール/にアップグレードできるようになってました. $ sudo port selfupdate $ port info py27-theano py27-theano @0.7.0 (python, devel) : $ s…

シグモイドの対数が \( -\infty \) になるのを防ぐ

…ました. 余談1: Theano での場合 Theano では,tensor.nnet.binary_crossentropy で交差エントロピーを計算できます: http://deeplearning.net/software/theano/library/tensor/nnet/nnet.html#tensor.nnet.binary_crossentropy シグモイドなニューロンの出力計算につづいてこのひとを呼ぶような関数を作った場合,softplus関数(log1p…

Theano の開発版をおっかける

…Welcome — Theano 0.6 documentation の関数 max_pool_2d のドキュメント downsample – Down-Sampling — Theano 0.6 documentation を見ると,stride size を指定して overlap ありの pooling が出来ることになってます.でも,自分の環境で試すと,st を指定したらエラーになります.むむむ… どうやら,上記リンク先のドキュメントは,リリース版じゃなくて最新の開発…

Theano で MLP & CNN (3)

…んですが (^^; Theano で MLP & CNN (2) - まんぼう日記 CIFAR-10 と ZCA whitening - まんぼう日記 のつづき.Multi-Layer Perceptron と Convolutional Neural Network で CIFAR-10 の画像識別をやってみます. 3層MLPでの実験 プログラムと実験条件 次のプログラムを使いました. cifar10.py CIFAR-10 のデータ読み込みプログラム( cf. CIFAR…

CIFAR-10 と ZCA whitening

Theano で Multi Layer Perceptron & Convolutional Neural Net - まんぼう日記 と Theano で MLP & CNN (2) - まんぼう日記 の Convolutional Neural Net の実験のつづきで,MNIST のかわりに CIFAR-10 を使ってみることにしました.ちうことで,CIFAR-10 について.あと,CIFAR-10 では ZCA whitening という前処理をした方がよいかもという…

Theano で MLP & CNN (2)

Theano で Multi Layer Perceptron & Convolutional Neural Net - まんぼう日記 のつづき.重みの正則化(regularization, weight decayとも)の項を入れました.ついでに細々と条件を見直して,MNISTの識別実験を再び. これまでの経緯や関連記事は上記リンク先へどうぞ. 前回からの変更点 nnet0211.py MLPのプログラム.Layer クラスと MLP クラスを定義.重み W の更新則に正則…

Theano で Multi Layer Perceptron & Convolutional Neural Net

Theano で Convolutional Neural Net - まんぼう日記 のつづき.前回のプログラムでは,max-pooling の後で ReLu する場合にしきい値を入れ忘れてました.それを直すついでに,プログラム全体を書き直してすっきりさせました. 関連記事: Pylearn2 の tutorial でお勉強 - 5時間目 - まんぼう日記 発端 MNISTのデータを読み込むPythonプログラム - まんぼう日記 mnist0117.py MNIST の L…

Theano で Convolutional Neural Net

先日の Theano で Multi Layer Perceptron - まんぼう日記 のつづき.Theano で convolution + pooling する層を作ってみます. 関連記事: Pylearn2 の tutorial でお勉強 - 5時間目 - まんぼう日記 発端 MNISTのデータを読み込むPythonプログラム - まんぼう日記 mnist0117.py MNIST の Logistic Regression Theano版 - まんぼう日記 Thea…

Theano で Multi Layer Perceptron

…egression Theano版 - まんぼう日記 のつづき.Logistic Regression のネットワークに隠れ層を追加して多層パーセプトロン(Multi Layer Perceptron, MLP)化します. 関連記事: Pylearn2 の tutorial でお勉強 - 5時間目 - まんぼう日記 発端 MNISTのデータを読み込むPythonプログラム - まんぼう日記 ここに載せたプログラム使ってます MNIST の Logistic Regressio…

MNIST の Logistic Regression Theano版

…ion のコードを,Theano を使って書き直してみます. 関連記事: Pylearn2 の tutorial でお勉強 - 5時間目 - まんぼう日記 発端 MNISTのデータを読み込むPythonプログラム - まんぼう日記 ここに載せたプログラム使ってます MNISTで nearest neighbor / int か float か,それが問題です / np.argpartition - まんぼう日記 Nearest Neighborの場合 Logistic Reg…

MNIST の Logistic Regression

…net が遅いので,Theano 使うか全部自分で作るかしょー,ちう話が発端やし( cf. Pylearn2 の tutorial でお勉強 - 5時間目 - まんぼう日記 ).だから,次は Theano で logistic regression 書くか,自前で隠れ層追加するか,どっちかかな. おっと,それより先に,試験の採点とか,卒論の審査とか,あれとか済ませなあかんのでした. で.今朝また走って記録更新しました(前回の記録更新: Logistic Regression …

Logistic Regression してみる

…ylearn2 & theano の話との関係とか一度整理して書いときたいけど,また今度.というわけで,最近のんへのリンクだけでも. MNISTのデータを読み込むPythonプログラム - まんぼう日記 MNISTで nearest neighbor / int か float か,それが問題です / np.argpartition - まんぼう日記 最後にランニングの話のおまけつき (^^; Logistic Regression してみる 多クラス識別の基本的な手法である…

MNISTで nearest neighbor / int か float か,それが問題です / np.argpartition

…. Numpy / Theano で行列の積を高速に計算するには - まんぼう日記 ) np.int32 の array の場合,スレッド数は1で, $ time python knn0118.py # test error rate = 3.09 % real 5m5.361s user 5m4.714s sys 0m0.556s となりました.一方,float の場合,スレッド数は6で, real 1m42.744s user 8m38.222s sys 0m2.312s…

MNISTのデータを読み込むPythonプログラム

…; 「かたつう」と Theano のお勉強 - 7時間目 - まんぼう日記 のつづきやりたいけどさすがにそこまでの余裕はないので, MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges のデータを読み込む Python プログラムを書きました.Pylearn2 のお勉強 - 6時間目 - まんぼう日記 では Pylearn2 を使って読み込んでるけど,Pylearn2 に頼ら…

初雪 & 行列の積を計算するプログラム

…. Numpy / Theano で行列の積を高速に計算するには - まんぼう日記 ). 何が言いたいかというと,今どきはC言語でがんばってプログラム書くよりも,Pythonみたいなお手軽言語使った方が,プログラミングが簡単で済むだけじゃなくて,マルチコアでの並列処理の恩恵にあずかれてずっと高速やったりするよ,と.繰り返しになりますがわかってる人には「何を今さら」な話です.ただ,こういうこと知らない人は結構多くて(専門家でもわかってないことも…),しょっちゅう同じ話をしてるの…

かたつーてくてく&「サムライ・ポテト」

…. 「かたつう」と Theano のお勉強 - 7時間目 - まんぼう日記 ).おまけに左上腕まで痛だるくなってきました.腕痛肩痛あわせて「わんつーかたつー」.なんか楽しげですな,わんつー♪かたつー♪…そう言うて茶化しでもせんとやってられへんのっす (^^;(ほんまは「肩腕痛」で「けんわんつう」). それでもてくてくしたいので,左肩と腕に湿布4枚貼ったうえ,いつものバックパックをやめてワンショルダーのかばんを右肩がけにしておでかけしてみました.さすがに遠出したり高速てくてくし…

「かたつう」と Theano のお勉強 - 7時間目

…MLPの出力計算を,Theano を使ったものに書き直してみました.参考にしたのは,Theano のページ Welcome — Theano 0.6 documentation の Tutorial や Library Documentation (特に Basic Tensor Functionality と nnet)だけです. ちゃんと動くことは確認できました.次の目標は,Theano でこのMLPの学習ができるようにすることです.第一歩は Theano に symbo…

Pylearn2 のお勉強 - 6時間目

… のつづき.自分で Theano 使って convolutional net のプログラムを書くことを視野に入れて,Pylearn2 で学習したネットワークのパラメータを取り出して,自前でネットワーク出力を計算してみることにします. 学習したネットワークの重みを取り出す 例えば Pylearn2 の tutorial でお勉強 - 2時間目 - まんぼう日記 の Part 4 では,学習後のMLPの重み等は mlp_3_best.pkl という名前の pickle ファイルに…

Pylearn2 の tutorial でお勉強 - 5時間目

… の勉強をはじめた Theano + Pylearn2 - まんぼう日記 Pylearn2 の tutorial でお勉強 - まんぼう日記 Pylearn2 の tutorial でお勉強 - 2時間目 - まんぼう日記 (2) Pylearn2 の tutorial にある convolutional net のサンプルを動かそうとしたら,CPUでは学習にすごく時間がかかりそうだった Pylearn2 の tutorial でお勉強 - 3時間目 - まんぼう日記 (3)…

続 Theano + CUDA

…らふらしてますが, Theano + CUDA - まんぼう日記 Pylearn2 の tutorial でお勉強 - 4時間目 - まんぼう日記 Numpy / Theano で行列の積を高速に計算するには - まんぼう日記 あたりの続きのようなそうでもないところでさらに迷走 (^^) Theano + CUDA - まんぼう日記 の時は MacBook Pro に CUDA + Theano を入れて試したらちょっと変なことになったわけですが,上記物欲全開時に,自分のメイ…

Numpy / Theano で行列の積を高速に計算するには

…ylearn2 は Theano を使い,Theano は Numpy を使い,Numpy は ATLAS,BLAS, LAPACK 等の数値計算ライブラリを使い,という関係になっているので,原因は Numpy が効率のよい数値計算ライブラリを呼び出せてない 1. は問題ないけど,Theano がおかしなことになっている 1. と 2. は問題なく,Pylearn2 がおかしなことになっている Pylearn2 も悪くなくて,マシンが遅いだけ という4つのいずれかだと考えて,…

Pylearn2 の tutorial でお勉強 - 4時間目

…う日記 のつづき& Theano + CUDA - まんぼう日記 の顛末. まずは「2時間目 Part3」のプログラムをCPUとGPUのそれぞれで実行して比較してみます. CPUのみで実行.takataka3.py というのは,この実験のためのpythonプログラムです. $ time THEANO_FLAGS=mode=FAST_RUN,device=cpu,floatX=float32 python takataka3.py real 9m43.569s user 15m…

Theano + CUDA

… まんぼう日記 ),Theano で GPU 使って計算できるようにしたいのです.そのためにまずは CUDA を入れましょー. 対象は MacBook Pro Retina 15inch, Mid 2012 で,GPUは Intel HD Graphics 4000 512MB (Integrated) と NVIDIA GeForce GT 650M 1GB (discrete) の2本立てです. CUDAのインストール CUDA Zone ==> Downloads ==…

Pylearn2 の tutorial でお勉強 - 3時間目

…れ調べ始める.まず,Theano の OpenCL 対応状況を調べてみたら,まだちゃんと対応できてない様子. Using the GPU — Theano 0.6 documentation 従って CUDA しか選択肢はないわけです.NVIDIA のグラフィックスカードを積んだマシンはたかたかの周辺にあったやろかと探してみたら,一応ありました.2010年頃の Mac mini と,Mid 2012 の MacBook Pro Retina.前者は使いもんにならなさそうなので…

Pylearn2 の tutorial でお勉強

… その後おもむろに Theano + Pylearn2 - まんぼう日記 のつづき.Pylearn2 の tutorial IPython Notebook Tutorials — Pylearn2 dev documentation でお勉強. pylearn2/scripts/tutorials/ の下の hoge.ipynb というファイルが IPython の Notebook とやらで, $ ipython hoge.ipynb としたらインタラクティブなチュートリ…