Falcon(Python)で画像分類(apple-orange)のWebAPIとPHPフロントエンド

諸事情により、Wordpressのドメインから、pythonのWEB APIサーバに画像を送り、結果をWordpressのドメインで受け取って表示をしたい!

そのためには、

(1)バックエンドとして、Facon(Python)で、画像を受け取って、画像分類の結果w返すWEB APIを構築

(2)フロントエンドとして、PHPで、画像をWebAPIに送って、結果を受け取って表示するページを構築

する必要がある。できるかな?

(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
PHP 5.6.23

(1)バックエンドの構築

FalconというPythonのWEB API作成用フレームワークを使用する。インストールなどは以下のリンクへ。

「Pythonで画像処理のWebAPIを作る ~Falcon編~」を写経してみる
本当は、Kerasの学習結果を用いて、Flask-APIで 本当はKerasでFlask-APIを探しているのであるが、ググってもその...

モデルの構築、学習などは、以下のリンクへ。

自前のデータでKerasで画像分類を写経してみる(1)
他人のデータのMNISTとかばっかりやっても全く面白くない! 自分で集めたデータで機械学習したい! 貴重な説明が以下にあったので...

下記に、apple_orange_model.jsonと、apple_orange_weights.h5の作成方法を記載。

Kerasで自前データで機械学習した成果をWEBで公開(Keras+Flask)(1)
なんか、Chainerで自作データできたのかと思っていたが、どこがどう間違ったのか、できていなかった。 できる目途がたたないので、Ke...

ということで、フォルダ構成は以下の通り。

image

falcon.predict.py を、以下のように記載して保存。

(2)フロントエンドの構築

Windowsのローカル環境でxamppを起動し、phpを用いる。

image

C:/xampp/htdocs/ の中に、index.html と、api.php を作成し、以下のコードをコピペ。

https://github.com/adash333/falcon_apple_orange/blob/master/index.html

image

api.php を変更してみる。

localhost で、index.html を開いて、適当な画像をアップロードしてsubmit

image

コマンドプロンプト

(3)おの、最後に、bool(true)が余計で非常に困った。

https://stackoverflow.com/questions/37811377/php-json-decode-returns-int1

curl_exec($ch) のせいで、最後にbool(true)がかえってきてしまうらしい。非常に困った。

https://qiita.com/kkyouhei/items/bc70a6974fb02f9a45f1

phpのcurlの結果はデフォルトで”出力”されるので注意
eiryu
2015年11月20日に更新
https://qiita.com/eiryu/items/bdcc91fee0f6e33f13d8

おおっ?

image

image

stdClass Object ?

2007-08-06
■phpで、json_encodeした配列に、json_decodeするとオブジェクトで返って来てしまう
http://d.hatena.ne.jp/kasahi/20070806/1186419785

=> 第2引数にtrueを入れると、配列になるとのこと

image

image

配列の中身を取り出して表示する。

image

image

やっと、やりたかったことができそう。

phpのコードは以下に記載。

全体のコードは、以下のリンクへ

https://github.com/adash333/falcon_apple_orange

(参考)

フォームデータを送信する
https://developer.mozilla.org/ja/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data

関連記事
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする