量子コンピュータをアプリ化したいという要望が増えています。本番用の環境としては、いろいろあると思いますが、先ずはサンプルとしてpython+flask環境の作り方をフォローしたいと思います。
量子コンピュータにしても機械学習にしても、モデルを作って、計算をして、結果を可視化が必要になります。flaskを使うことで、バックエンドにpythonを使ってモデルを作るのが通常の量子や機械学習の業界ではリーズナブルで高速にフロントとバックエンドをつなぐことができます。
1,linuxサーバーを立ち上げる
2,pipをインストール
3,pipからflaskをインストール
4,flaskを記述
5,ウェブサーバーを立ち上げ
6,本番用を実行
になります。
yum install python-pip
でpipをインストールし、
pip3 install flask
で完了です。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello world'
if __name__ == '__main__':
app.run(debug=False, host='0.0.0.0', port=80)
参考:https://qiita.com/tomboyboy/items/122dfdb41188176e45b5
hostの指定とportの指定をしないと外部から見ることができません。
ルーティングというURLによって引っ張り出すデータや見た目を変えられますので、これを設計してアプリを作っていきます。
上記では簡易のウェブサーバーが立ち上がりますので、本番用はapacheやnginxなどのプロダクションようのwebサーバーを立ち上げます。
参考:
PythonのFlaskを初めて触ってから30分で本番環境にデプロイ+ HTTPS通信まで完成
https://qiita.com/yoshizaki_91/items/3cd785b4a670deec0685
個人的にはnginxが好きなので、上記とは少しデプロイ方式が違いますが。
ウェブアプリとして仕上げるには、これでサーバー側のデータをフロントのウェブアプリに送ることができますが、受け取り側はjavascriptによってデータを取り扱いcssによってデザインを決めています。
最近ではいくつかフレームワークもありますので、bootstrapに代表されるようなcssフレームワークをうまく利用することで、PCとスマートフォン向けの実装が効率的にできます。
機械学習や量子アルゴリズムのフロントエンド実装は似ていますので、共通化して効率的に実装して業務に役立ててほしいですね。以上です。
[追記]
常時立ち上げは、
export FLASK_APP=/home/sample.py
nohup flask run –host=’0.0.0.0′ –port=5000 >/home/log/sample_suc.log 2>/home/sumple_err.log &
止めるときは、
ps -fA | grep python
kill ****