LoginSignup
14
16

More than 5 years have passed since last update.

Flaskとtensorflowとherokuで「hello world」を動かしてみた

Posted at

Flaskというpythonの小規模なフレームワークとtensorflowを利用して
herokuで「hello world」を動かしてみました!

参考url

Flask を触ってみる + Heroku で動かす
http://qiita.com/sqrtxx/items/2ae41d5685e07c16eda5

TensorFlowで Hello Worldを動かしてみた&その解説
http://dev.classmethod.jp/machine-learning/tensorflow-hello-world/

TensorFlowでのMNIST学習結果を、実際に手書きして試す
http://d.hatena.ne.jp/sugyan/20151124/1448292129

やったこと

  • とりあえずローカル環境で動かしてみる

    • 開発ディレクトリを作成と移動
    • tensorflow をアクティベート
    • Flask のインストール
    • インストールされてるパッケージを確認
    • hello.py を作る
    • ローカルで実行する
  • herokuにあげてみる

    • Procfile を用意する
    • requirements.txt を用意する
    • .gitignore を作る
    • herokuにデプロイ
    • webページを開く

前提(自分の環境)

OS X IE Capitan 10.11.4

  • python 2.7.10
  • tensorflow 0.6.0

をインストール済み

とりあえずローカル環境で動かしてみる

開発ディレクトリを作成と移動

$ mkdir tensorflow-hello
$ cd tensorflow-hello

tensorflow をアクティベート

$ source ~/tensorflow/bin/activate

Flask のインストール

$ pip install Flask

インストールされてるパッケージを確認

$ pip list

hello.py を作る

hello.py

# hello.py

import tensorflow as tf
import multiprocessing as mp

from flask import Flask

app = Flask(__name__) 

@app.route('/')
def hello_world():
    core_num = mp.cpu_count()
    config = tf.ConfigProto(
        inter_op_parallelism_threads=core_num,
        intra_op_parallelism_threads=core_num )
    sess = tf.Session(config=config)

    hello = tf.constant('hello, tensorflow!')
    return sess.run(hello)

if __name__ == '__main__':
    app.run()


ローカルで実行する

$ python hello.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

http://127.0.0.1:5000/
にアクセスしてみると

スクリーンショット 2016-05-19 23.31.59.png

こんなかんじになった!はろー!

herokuにあげてみる

Procfile を用意する

web: gunicorn hello:app --log-file -

requirements.txt を用意する

requirements.txt を書き出して

$ pip freeze > requirements.txt

そのあと

https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

をファイルの最後に追加する

ちなみに自分のrequirements.txtはこんなかんじになった

requirements.txt

Flask==0.10.1
gunicorn==19.4.5
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.9
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

.gitignore を作る


*.pyc
*.pyo
tensorflow-hello

herokuにデプロイ

$ git init
$ git add .
$ git commit -am "tensorflow hello"
$ heroku apps:create tensorflow-hello
$ heroku buildpacks:add heroku/python
$ git push heroku master

webページを開く

$ heroku open

スクリーンショット 2016-05-19 23.39.57.png

herokuの環境でも実行できました!
学習させたりといったことには向いてないと思いますが
判別させたりするのになどには使えるのではないかなと思ってやってみました。

何かご指摘等あれば頂けると嬉しいですmm

14
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
16