第6感をAIで可視化できないか?という試みの 第5弾になります。
全体のお話はこちら
人工知能(機械学習)で、第6感の可視化に挑戦
はじめに
今回の範囲はこちらになります。
赤枠の環境を構築することが、今回のゴールです。
アプリを公開する環境
クラウドサービス
代表的なのが、Amazon、Microsoft、Google の3大クラウド。
以前Amazonが提供しているAWSを使っていたのですが、日中動かしているだけで(夜間は節約のため止めてた)1万/月くらいかかってしまっていました。
ちょっと高いので、今回は不採用
レンタルサーバ
用途に応じて、共用サーバ/専用サーバ/VPS(仮想専用サーバー)があるようです。
https://www.kagoya.jp/howto/rentalserver/basic-01/
共用サーバ
利用料金が最も安い。今回使いたいPHP/apache/pythonが使える状態になっているものもあるようです。
ただ、今回必要なtensorflow/kerasが使えなさそうなので、不採用VPS
利用料金もクラウドサービスほど高くなく、環境も自由に設定できるよう。
今回はVPSを使ってみることにします。
さくらVPS
レンタルサーバ業者は複数あるようなのですが、有名なのがさくら、ロリポップ、お名前.comらしいです。
さくらの「ネコでもわかる!さくらのVPS講座」が分かりやすかったので、今回はさくらVPSを利用してみることにします。
申込・基本的な設定
「ネコでもわかる!さくらのVPS講座」に従って、以下を実施
~第四回~phpとMariaDBをインストールしよう
※.MariaDBは今回使わないので、phpのインストールのみ
pyenvインストール
centOS7にはデフォルトでpython2.7がインストールされているようです。
今回はpython3を使いたい。しかしデフォルトで入っているpython2.7をアンインストールするのもちょっと躊躇います。。。
ということで、複数バージョンのPythonを簡単に切り替えられるというpyenvを使ってみます。
pyenvとは
こちらを参考にさせて頂きました。
- pyenv と pyenv-virtualenv で環境構築
- PyenvによるPython3.x環境構築(CentOS, Ubuntu)
- はじめての人工知能。CentOS7.0 でTensorflow。virtualenvで、python3.5系とpython2.7系に分けて構築。
pyenvのインストール・設定
こちらが大変参考になりました。
ポイントは、Pythonの実行環境をすべてのユーザが使えるように作成するというところ。
webアプリの実行ユーザであるapacheユーザでもpythonを実行できるようにしたいためです。
尚、仮想環境は使わないので、pyenv-virtualenv はインストールしていません。
anacondaインストール
必要なライブラリを各々インストールしてもよいのですが、、、
ライブラリの依存関係やインストールの順番を考えるの面倒なので、anacondaを入れてしまいます。
早速pyenvを使ってインストールします。
pyenvの使い方はこちらを参考にさせてもらいました。
pyenvでインストール可能なライブラリ一覧を確認
# pyenv install --list
Available versions:
2.1.3
2.2.3
・・・
anaconda3-5.0.1
anaconda3-5.1.0
・・・
anacondaは最新版が「anaconda3-5.1.0」のようです。
最新版をインストールしてみます。
# pyenv install anaconda3-5.1.0
バージョンを切り替えます。
# pyenv global anaconda3-5.1.0
# pyenv versions
anaconda3-5.1.0
各種必要なライブラリをインストール
anacondaに内包しているconda(パッケージ管理システム)を使って、必要なライブラリをインストールしていきます。
condaのアップデート
まずは、condaそのものをアップデートしておきます。
# conda update -n base conda
Solving environment: done
## Package Plan ##
added / updated specs:
- conda
The following packages will be downloaded:
package | build
---------------------------|-----------------
conda-4.4.11 | py36_0 930 KB
The following packages will be UPDATED:
conda: 4.4.10-py36_0 --> 4.4.11-py36_0
Proceed ([y]/n)? y <-- yes/noを聞かれるので、y(yes)を入力
Downloading and Extracting Packages
conda 4.4.11: ####################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
tensorflow
conda installでtensorflowを追加
tensorflowに付随していろいろインストールされるようです。
# conda install tensorflow
Solving environment: done
## Package Plan ##
environment location: /usr/local/lib/pyenv/versions/anaconda3-5.1.0
added / updated specs:
- tensorflow
The following packages will be downloaded:
package | build
---------------------------|-----------------
tensorboard-1.6.0 | py36hf484d3e_0 2.9 MB
gast-0.2.0 | py36_0 15 KB
bleach-1.5.0 | py36_0 22 KB
html5lib-0.9999999 | py36_0 176 KB
markdown-2.6.11 | py36_0 104 KB
astor-0.6.2 | py36_0 42 KB
termcolor-1.1.0 | py36_1 7 KB
tensorflow-base-1.6.0 | py36hff88cb2_0 39.4 MB
tensorflow-1.6.0 | 0 3 KB
protobuf-3.5.1 | py36hf484d3e_0 597 KB
libprotobuf-3.5.1 | h6f1eeef_0 4.2 MB
absl-py-0.1.10 | py36_0 129 KB
grpcio-1.10.0 | py36hf484d3e_0 1.6 MB
------------------------------------------------------------
Total: 49.2 MB
The following NEW packages will be INSTALLED:
absl-py: 0.1.10-py36_0
astor: 0.6.2-py36_0
gast: 0.2.0-py36_0
grpcio: 1.10.0-py36hf484d3e_0
libprotobuf: 3.5.1-h6f1eeef_0
markdown: 2.6.11-py36_0
protobuf: 3.5.1-py36hf484d3e_0
tensorboard: 1.6.0-py36hf484d3e_0
tensorflow: 1.6.0-0
tensorflow-base: 1.6.0-py36hff88cb2_0
termcolor: 1.1.0-py36_1
The following packages will be DOWNGRADED:
bleach: 2.1.2-py36_0 --> 1.5.0-py36_0
html5lib: 1.0.1-py36h2f9c1c0_0 --> 0.9999999-py36_0
Proceed ([y]/n)? y <-- yes/noを聞かれるので、y(yes)を入力
Downloading and Extracting Packages
tensorboard 1.6.0: ################################################################################################## | 100%
gast 0.2.0: ######################################################################################################### | 100%
bleach 1.5.0: ####################################################################################################### | 100%
html5lib 0.9999999: ################################################################################################# | 100%
markdown 2.6.11: #################################################################################################### | 100%
astor 0.6.2: ######################################################################################################## | 100%
termcolor 1.1.0: #################################################################################################### | 100%
tensorflow-base 1.6.0: ############################################################################################## | 100%
tensorflow 1.6.0: ################################################################################################### | 100%
protobuf 3.5.1: ##################################################################################################### | 100%
libprotobuf 3.5.1: ################################################################################################## | 100%
absl-py 0.1.10: ##################################################################################################### | 100%
grpcio 1.10.0: ###################################################################################################### | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
keras
conda installでkerasを追加
# conda install keras
Solving environment: done
## Package Plan ##
added / updated specs:
- keras
The following packages will be downloaded:
package | build
---------------------------|-----------------
keras-2.1.5 | py36_0 490 KB
The following NEW packages will be INSTALLED:
keras: 2.1.5-py36_0
Proceed ([y]/n)? y <-- yes/noを聞かれるので、y(yes)を入力
Downloading and Extracting Packages
keras 2.1.5: ######################################################################################################## | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
動かしてみます。はい、OK!
人工知能(機械学習)で、第6感の可視化に挑戦 その②で作成した学習モデルを動かしてみます。
$ python dra_vgg16_test.py.py
Using TensorFlow backend.
Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5
58892288/58889256 [==============================] - 16s 0us/step
2018-03-20 23:00:25.163278: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
test_a.py:31: UserWarning: Update your `Model` call to the Keras 2 API: `Model(inputs=Tensor("in..., outputs=Tensor("se...)`
model = Model(input=vgg16.input, output=top_model(vgg16.output))
[('toushu', 0.6204089), ('yashu', 0.3795911)]
無事動きました。
まとめ
VPSを初めて利用しましたが、無事に環境構築ができました。
最後に
無事環境ができました。あとはこれだけ。
- 本番環境へソースを移送
- ドメイン取得、サーバへ設定
- URLへアクセスして動作確認