nvidia docker DIGITS - eiichiromomma/CVMLAB GitHub Wiki
nvidia-docker) NVIDIA DIGITS
(ここからLocal Installerをダウンロードして$HOME/dockermountに置いておく。(要ログイン)
コンテナの設定
ベースはCUDA8 (2016/12/25現在)のcudnn-devel版。
sudo nvidia-docker run -it --name nv-digits -p 5000:5000 -p 34448:34448 -v $HOME/dockermount/:/mnt nvidia/cuda:cudnn-devel /bin/bash
あとはコンテナ内で作業。
まず/etc/apt/sources.listのサーバをjpに変更しておく。
各種パッケージのセットアップ
apt update && apt upgrade -y && apt install -y python-pip python-dev python-opencv libhdf5-dev sqlite3 python-matplotlib nkf git liblapack-dev gfortran imagemagick
dpkg -i /mnt/nv-deep-learning-repo-ubuntu1404-6-ga2-cuda8.0_8.0.7-1_amd64.deb
apt update
apt install digits
データセットのダウンロード
ツールが用意されている。
cd /usr/share/digits/tools/download_data
python main.py cifar10 /mnt/cifar10
でcifar10を/mntに持ってこれる。 cifar10の他にmnistとcifar10が指定可能。
ちなみにデータセットの画像が小さいときはモデルに合わせる必要がある。caffeのドキュメントにあるように
for name in DIRNAME/*.png ; do convert -resize 256x256\! $name $name; done
でDIRNAME内のpngを256x256に変換できる(要ImageMagick)
例)cifar10
cd /mnt
cp -r cifar10 cifar10_256
for name in cifar10_256/train/airplane/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/automobile/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/bird/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/cat/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/deer/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/dog/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/frog/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/horse/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/ship/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/train/truck/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/airplane/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/automobile/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/bird/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/cat/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/deer/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/dog/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/frog/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/horse/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/ship/*.png ; do convert -resize 256x256\! $name $name; done
for name in cifar10_256/test/truck/*.png ; do convert -resize 256x256\! $name $name; done
サーバー起動
デバッグ用と通常用がある。
cd /usr/share/digits/
./digits-server
でホスト側から http://localhost:34448にブラウザでアクセスすれば良い。