PythonのWebアプリケーションフレームワークFalcon
PythonのWAF(Web Application Flamework)といえば、DjangoかFlaskであるが、Falconという、WebAPI専用のWAFもあるらしい。
フロントエンドを別に作成しなければならないが、フロントエンドはphpなどで十分だと思われる。(私はJavascriptが超苦手、もちろん、他の言語も全く分からないが、、、)
<そもそも、、、>
フロントエンドのサーバで契約しているのがphpしか使用できない状況である。バックエンドでpythonで機械学習した結果をWEB APIにして、フロントエンドから画像をWEB APIにアップロードして、推測の結果をJSONで返して、フロントエンドでその推測の結果を表示したい。
そのためには、
(1)バックエンドで、pythonで、フロントエンドから画像の情報を受け取り、推測を行い、結果をJSONでフロントエンドに返す
(2)フロントエンドで、phpで、バックエンドに画像の情報を送り、バックエンドから帰ってきた情報を、再度、フロントエンドで表示する
ことが必要である。
(環境)
Windows 8.1
Anaconda 4.4.0
Python 3.6.1
Tensorflow 1.2.1
Keras 2.0.6
Ruby 2.3.3
Rails 5.1
Git
(1)バックエンド
本当はFlaskで実装したかったのであるが、ググっても日本語は、以下のサイトしか見つからず。
英語だと、これかな?
https://github.com/ansrivas/keras-rest-server
→ Python 2 なので、できれば避けたい
https://shuaiw.github.io/2017/02/01/deep-learning-model-as-rest-api.html
Deep Learning Model as REST API
Feb 1, 2017
コードの一部がのっているが、この情報だけでは、私には無理。
https://medium.com/@kashyapraval/image-classification-api-deep-learning-d0b0f67d0ce
けっこうコードが書いてある。
これをコピペできるか???かなり難しそう
https://stackoverflow.com/questions/11914472/stringio-in-python3
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
これを訂正しても、なぜだか、
というエラーが出てダメだった。
(2)続いて、以下のサイトを写経して、fallconでHello Worldしてみる。
https://qiita.com/Yaruki00/items/efe23a0e91579aec9398
Anaconda Promptで、
pip install falcon
python sample.py
WEBブラウザで、http://localhost:8000/sample を開くと、以下のようになる。
Anacond PromptでCtrl+Cでサーバ停止
次は、以下のサイトを写経してみたい
http://blog.apitore.com/2017/09/27/python-webapi-falcon/
(参考1)
PHP file_get_contentsでAPIサーバーにGET,POST,画像アップロード
http://symfoware.blog68.fc2.com/blog-entry-1885.html
Pythonで画像処理のWebAPIを作る ~Falcon編~
2017-09-27 BY KEIGO HATTORI
http://blog.apitore.com/2017/09/27/python-webapi-falcon/
Python の Flask で REST API を作ってみる
http://momijiame.tumblr.com/post/39378516046/python-%E3%81%AE-flask-%E3%81%A7-rest-api-%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B
(参考2)
PHPでのファイルアップロードのおさらい
zaburo
2015年05月24日に投稿
https://qiita.com/zaburo/items/80b94bce19a4a670e465
POST メソッドによるアップロード
http://php.net/manual/ja/features.file-upload.post-method.php
ディスカッション
コメント一覧
まだ、コメントがありません