FC2カウンター FPGAの部屋 BNN-PYNQ のトレーニングを試してみる1

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

BNN-PYNQ のトレーニングを試してみる1

BNN-PYNQ以前もやったのだが、今回はトレーニングを試してみることにした。

BNN-PYNQ/bnn/src/training/ を参考にしてやってみることにした。
ただし、GPU は持っていないので、CPU のみでやってみる。
早速、やってみよう。
とりあえず、Installing the Training Environment: からやってみた。
VirtualBox 上のUbuntu 16.04 でやっているので、Install Nvidia Drivers, CUDA and cuDNN はやらなかった。

Install Python Packages から行った。
まずは、必要なツールをインストールした。
sudo apt-get install git python-dev libopenblas-dev liblapack-dev gfortran -y
BNN-PYNQ_40_170526.png

pip は既にインストールしていあるので省略

Theano をインストール。
pip install --user git+https://github.com/Theano/Theano.git@rel-0.9.0beta1
BNN-PYNQ_41_170526.png

Lasagne をインストール。
pip install --user https://github.com/Lasagne/Lasagne/archive/master.zip
BNN-PYNQ_42_170526.png

./theanorc を作成した。GPUの代わりにCPUを使用するように変更した。
echo "[global]" >> ~/.theanorc
echo "floatX = float32" >> ~/.theanorc
echo "device = cpu" >> ~/.theanorc
echo "openmp = True" >> ~/.theanorc
echo "openmp_elemwise_minsize = 200000" >> ~/.theanorc
echo "" >> ~/.theanorc
echo "[nvcc]" >> ~/.theanorc
echo "fastmath = True" >> ~/.theanorc
echo "" >> ~/.theanorc
echo "[blas]" >> ~/.theanorc
echo "ldflags = -lopenblas" >> ~/.theanorc

BNN-PYNQ_43_170526.png

.theanorc ができた。
BNN-PYNQ_44_170527.png
BNN-PYNQ_45_170527.png

pylearn2 のインストール。
pip install --user numpy==1.11.0 # Pylearn2 seems to not work with the latest version of numpy
git clone https://github.com/lisa-lab/pylearn2
cd pylearn2

BNN-PYNQ_46_170527.png

python setup.py develop --user

BNN-PYNQ_47_170527.png

cd ..

Download Datasets を実行した。
export PYLEARN2_DATA_PATH=~/.pylearn2
mkdir -p ~/.pylearn2
cd pylearn2/pylearn2/scripts/datasets

BNN-PYNQ_48_170527.png

mnist と cifar10 をダウンロード。
python download_mnist.py
./download_cifar10.sh

BNN-PYNQ_49_170527.png

BNN-PYNQ_50_170527.png

”export PYLEARN2_DATA_PATH=~/.pylearn2”を.bashrc に追加。
BNN-PYNQ_51_170527.png

BNN-PYNQ が古くなっていたので、消去して、git clone しなおした。
BNN-PYNQ_52_170527.png

BNN-PYNQ/bnn/src/training/ ディレクトリに移動した。
cd BNN-PYNQ/bnn/src/training/
BNN-PYNQ_53_170527.png

mnist のトレーニングをスタートした。
python mnist.py
BNN-PYNQ_54_170527.png

スタートしたのが、2017/05/27 5時10分頃だ。
現在、8時13分だが Epoch 92 だ。
BNN-PYNQ_55_170527.png

1 つのEpoch を実行するのに、約 125 秒かかっているので、1000 Epoch では、34時間43分くらいかかることになる。
ネイティブのUbuntu とGPU がとっても欲しくなった。。。

(追記)
次の日の14時30分頃、Epoch 1000 が終了しました。約33時間20分かかりました。
BNN-PYNQ_56_170528.png

best epoch: は 824 でした。それを示します。
BNN-PYNQ_57_170528.png
  1. 2017年05月27日 08:18 |
  2. DLNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3809-236e3b15
この記事にトラックバックする(FC2ブログユーザー)