Google Cloud PlatformへのTensorFlow導入

GCP無料枠のmicroインスタンスにてTensorFlow環境を構築してみたのでメモとして。
PythonはCentOS 7に入っている2.7でも動作するが、敢えて3.6を使っている。

1.EPEL Repositoryのインストール
# yum install epel-release
2.Python3.6のインストール
# yum -y install python36 python36-devel
-> result
3.Pythonのパス変更

いちいちpython3.6と入れるのも面倒なので。

# which python
# ls -ltr /bin/python
# unlink /bin/python
# which python3.6
# ln -s /bin/python3.6 /bin/python
# ls -ltr /bin/python
4.yumの修正

Pythonのパスを変えるとyumが動かなくなるので、その是正。
2ファイルの先頭行を下記に変更する。

#!/usr/bin/python -> #!/usr/bin/python2

# vi /bin/yum
# vi /usr/libexec/urlgrabber-ext-down
5.pipの有効化
# python3.6 -m ensurepip
6.TensorFlowのインストール
# python -m pip install –upgrade tensorflow
-> result
7.PATH変数の追加

TensorFlowインストール時にPATHに無いと警告が出ているので対処する。

# export PATH=$PATH:/usr/local/bin
# vi ~/.bash_profile
8.pipのアップグレード

TensorFlowインストール時にpipが古いと警告が出ているので対処する。

# python -m pip install –upgrade pip
-> result
9.動作確認

pythonのコマンドラインから動作確認する。

# python
Python 3.6.6 (default, Aug 13 2018, 18:24:23)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import tensorflow as tf
>>> sess = tf.InteractiveSession()
2018-12-14 03:58:39.423492: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
>>> mess = tf.constant(‘Test Message’)
>>> print(sess.run(mess))
b’Test Message’
>>> exit()

10.Swap追加

無料枠のmicroインスタンスは512mしかメモリなく、サンプルモデルが動かない。
Swapを増やしてとりあえず動くようしておく。

# dd if=/dev/zero of=/swapfile bs=1M count=4096
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

再起動して解除されないようfstabにも書いておく。

# vi /etc/fstab
/swapfile swap swap defaults 0 0

11.gitのインストール

サンプルモデルをgitから取得するのだが、gitが入ってなかったのでgitのインストールから。
一応最新のが良いので、IUSリポジトリを入れておく。

# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
-> result

その後、gitをインストール。

# yum install git2u
-> result
12.サンプルモデルの利用準備

gitから公式のサンプルモデルを取得する。

# mkdir /opt/tensorflow
# cd /opt/tensorflow/
# git clone https://github.com/tensorflow/models.git

そのまま実行しようとすると、No module named ‘requests’とのことで、pipにてrequestsを入れる。

# pip install requests
13.サンプルモデルの実行

サーバが貧弱なので、それなりの時間を要するので覚悟しておくこと。

# export PYTHONPATH=”$PYTHONPATH:/opt/tensorflow/models”
# python mnist.py
-> result

14.TensorBoardの起動

# tensorboard –logdir=/tmp/mnist_model –port 80
TensorBoard 1.12.0 at http://<hostname or ip address>:80 (Press CTRL+C to quit)

ブラウザにてアクセスし、下記のように表示されれば成功。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする