ギークなエンジニアを目指す男

機械学習系の知識を蓄えようとするブログ

Flask で PythonアプリをWEBに公開する

こんにちは。takapy(@takapy0210)です。

本記事は、現在作成している、画像識別プログラムをWEBに公開する際の手順です。

※Anacondaのインストール、TensorFlowのインストールは終了していることを前提としています。

python仮装環境の切り替え

下記コマンドで、インストールされてる環境が表示されるので、Flaskをインストールする仮装環境に切り替えを行います。

$ conda info -e

私の場合は tf140 なので、下記のように切り替えます。

$ source activate tf140

Flaskインストール

公式HPはこちらです。
Welcome | Flask (A Python Microframework)

下記コマンドでインストールできます。

$ pip install Flask

FlaskでHello Worldを表示してみる

公式サイトにもあるHelloWordlを表示するプログラムを作成して、実際にブラウザから確認してみます。

animaiai/hello.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

ターミナルで下記コマンドを実行(仮装環境へログインした状態で)

$ export FLASK_APP=hello.py
$ flask run

そうすると、このIPアドレスでサーバ動かしてるよ!と表示されるので、
ブラウザでそのIPアドレスへアクセスしてみます。 f:id:taxa_program:20180504150402p:plain

確かに Hello, World と表示されました!

また、起動したサーバの停止は Ctrl + C でできます。

成果物

今回は、烏、猪、猿の画像を学習させたプログラムに画像を渡して、その画像が何か答えさせるプログラムです。

インターフェースは下記のような味気のないものです。 f:id:taxa_program:20180504215745p:plain

下記画像を渡して識別してみます。 f:id:taxa_program:20180504215855j:plain

そうすると、何に該当するか表示してくれます。 f:id:taxa_program:20180504215959p:plain

pythonのコードはGitHubに載せておきますので、ご参考までに。
※今回のコードは「predictfile.py」というものです。

github.com