V-antena and Tanimoto's page

谷本の備忘録・雑記帳・work

>

月: 2017年2月

MONTHLY ARCHIVE

SAMPLEのTRANSLATE.PYを試す

使用環境: Ubuntu 16.10 Tensorflow-gpu (ppi install)

またもや、tensorflow/modelsが見当たらない。
そこで、旧い版数のところからソースを持ってきた。

しかし、旧い版数ではエラーになったので、いくつかのpythonコードを引っ張ってきたら、なんとか動いた。(どうも、pipからではなく、ソースからした方が良かったのかも)

'https://github.com/tensorflow/models/blob/master/tutorials/rnn/translate/translate.py
( dtype=dtypeの部分をコメント化もした)
'https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/ops/rnn_cell.py
'https://github.com/petewarden/tensorflow_ios/blob/master/tensorflow/python/ops/seq2seq.py
'https://github.com/tensorflow/models/blob/master/tutorials/rnn/translate/seq2seq_model.py
'https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/ops/core_rnn_cell_impl.py

'https://www.codatlas.com/github.com/tensorflow/tensorflow/master/tensorflow/con
trib/legacy_seq2seq/python/ops/seq2seq.py
'https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/platform
/app.py
'https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/client/s
ession.py

また、ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[2048,2048] translate.pyというエラーになったので、translate.py中のサイズを変更。

tf.app.flags.DEFINE_integer(“from_vocab_size”, 40000, “English vocabulary size.”)
tf.app.flags.DEFINE_integer(“to_vocab_size”, 40000, “French vocabulary size. ”) 
 この辺は20000に変更
tf.app.flags.DEFINE_integer(“size”, 1024, “Size of each model layer.”)
上記の1024を512にしたところ動いた
GPUメモリー使用量は、5.8GB
(当方のGPUは、GTX-1060(6GB)なので、originalではだめだったみたい)
サイズやlayer数を変えればよいみたい。

約34万stepはしないといけないみたい。私のマシンでは1時間に1万stepぐらいしか進まな
い。step time=0.27なので26時間ぐらいかかりそう。
'http://qiita.com/KojiOhki/items/45df6a18b08dfb63d4f9

2017/2/23追記
36万stepまで進んだところで、止めて、翻訳の実験。
エラー発生。 translate.pyで下記を変更
' Load vocabularies.
en_vocab_path = os.path.join(FLAGS.data_dir,“vocab%d.from” % FLAGS.from_vocab_size)
fr_vocab_path = os.path.join(FLAGS.data_dir,“vocab%d.to” % FLAGS.to_vocab_size)
en_vocab, _ = data_utils.initialize_vocabulary(en_vocab_path)
_, rev_fr_vocab = data_utils.initialize_vocabulary(fr_vocab_path)
vocab%d.from をvocab%d.enに
vocab%d.toをvocab%d.frに 変更したところ動いた。

翻訳は、雑誌に載っている例の様にはならず、_unkが多い。
回数が少ないせいなのか、vocabularyのサイズを減らしたせいなのかは不明。

SAMPLE CLASSIFY_IMAGE.PYを試す

雑誌や書籍に載っているclassify.pyを試そうとしたところ、tensorflowをinstallしても
、tensorflow/modelsが見当たらない。
環境:ubuntu 16.10 で、pip経由でtensorflow-gpuをinstall

確か、下記あたりから持ってきて試すとできた。
'https://github.com/petewarden/tensorflow_makefile/blob/master/tensorflow/models/image/imagenet/classify_image.py
なお、WEB版もある様だが・・・

CUDNNとCHAINERのインストール

cudaの次はchainerのインストール
' chainer install
' https://developer.nvidia.com/にメンバー登録してcudnnを入手
$ tar xzf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp -a cuda/lib64/* /usr/local/lib/
$ sudo cp -a cuda/include/* /usr/local/include/
$ sudo ldconfig
$ rm -R -f cuda
$ sudo nano /etc/default/grub
' GRUB_CMDLINE_LINUX=”systemd.unit=multi-user.target”に設定
$ sudo update-grub
$ sudo reboot
$ sudo apt clean
$ sudo apt-get install gcc-4.9
$ sudo apt-get install g++-4.9
$ sudo update-alternatives ?install /usr/bin/gcc gcc /usr/bin/gcc-4.9.20
' gccのバージョンが新しいとchainerのGPUを使った使用で実行中にエラーが出る
' g++も旧いのを入れないとエラーになったのでこれもライブラリーを入れる
' 参考:https://groups.google.com/forum/#!topic/chainer-jp/hDEZIAKVsn8

$ CUDA_PATH=/usr/local/cuda sudo pip install chainer ?no-cache-dir
' version was chainer-1.21.0
' http://qiita.com/yukoba/items/3692f1cb677b2383c983を参考にした
gccのバージョンを元に戻すと、chainerで又エラーになったので戻せない。
他に方法あるかも

CUDAを入れてNVIDIA-SMIコマンドが入るまで

' CUDAを入れてnvidia-smiが出るまで

  1. 用意したMachine
    CPU i7-7700
    Memory 32GB
    HD 1TB
    GPU Geoforce GTX-1060

1.Ubuntu 16.10をinstall

  1. remote desktopまで

'bluetoothでエラーになるのを止める
$ sudo nano /etc/apt/sources.list.d/ubuntu-ja.list

'ディレクトリーの英文字化
$ LANG=C xdg-user-dirs-gtk-update

'SSH有効化
$ sudo apt-get install openssh-server

'tmpのRAMDISK化
$ sudo mkdir /ramdisk
$ sudo chmod 777 /ramdisk
$ sudo chown -R username /ramdisk (2017.3.4)
$ sudo nano /etc/fstab

  • tmpfs /ramdisk tmpfs rw,size=2G,x-gvfs-show 0 0
    $ sudo mount -a
    $ sudo rm -rf ~/.cache
    $ sudo rm -rf /tmp
    $ ln -s /ramdisk ~/.cache
    $ sudo ln -s /ramdisk /tmp
    'xrdp設定
    $ sudo apt-get install xrdp
    $ sudo apt install mate-desktop-environment
    $ sudo apt install mate-desktop-environment-extras
    $ sudo apt-get install mate-core mate-notification-daemon
    $ sudo apt-get remove blueman
    ' 上記はerror対策
    $ sudo service xrdp restart
    $ nano ~/.xsession

' matesession <―間違い
' mate-session
' 上記を追加

'debパッケージのインストール用コマンドgdebi
$ sudo apt-get install gdebi
'ftp server設定
'https://www.server-world.info/query?os=Ubuntu_16.04&p=ftp を参考にした
$ sudo apt-get install vsftpd
$ sudo nano /etc/vsftpd.conf
$ sudo nano /etc/vsftpd.chroot_list
$ sudo service vsftpd restart

  1. git,pip準備

'git
$ sudo apt-get install git

'pip
$ sudo apt-get install python3-pip python3-dev
$ sudo apt-get install python-pip python-dev

  1. OpenCV Install
    ' /tmpをramdiskにしている場合は、2GBではエラー。4GBだと出来た(2017.3.2追記)
    'OpenCV
    $ mkdir deeplearning
    $ cd deeplearning
    $ git clone https://github.com/jayrambhia/Install-OpenCV.git
    $ cd Install-OpenCV
    $ cd Ubuntu
    ' dependencies.shのlibgstreamer0.10-devをlibgstreamer1.0-devに変える
    ' dependencies.shのlibgstreamer-plugins-base0.10-devをlibgstreamer-plugins-base1
    .0-devに変える
    $ sudo nano dependencies.sh
    ./opencv_latest.sh
    '下記も行う
    http://choni-waniwani.blogspot.jp/2016/10/opencv2gcc6.html

場合によってはこれも(これは入っていそうだが、まだエラーになり上記)
https://github.com/opencv/opencv/pull/7390/commits/21d9412c93d0fea7c087c2cca3b232b9f8ab9d69

5.CUDAのinstall
'cuda
' cuda driver dawnload from https://developer.nvidia.com/cuda-zone
$ sudo nano /etc/default/grub

' GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”をGRUB_CMDLINE_LINUX_DEFAULT=”text”に
変更する
$ sudo reboot
$ sudo nano /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
$ sudo nano /etc/modprobe.d/nouveau-kms.conf
options nouveau modeset=0
$ sudo update-initramfs -u
$ sudo reboot
$ sudo apt-get install linux-source
$ cd Downloads
$ sudo gdebi cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install cuda
$ sudo apt-get remove nvidia-367
$ sudo apt-get install nvidia-370
' https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppaから370にした
$ sudo reboot
$ nvidia-smi

正しくインストール出来ているか、ubuntu 16.10で動くかはまだわからない

V-antena and Tanimoto's page