tfとしてtensorflowをインポートします tensorflow.keras.modelsからインポートシーケンシャルから Tensorflow.keras.layersからImport dense、conv2d、maxpooling2d、flattenから <h1>モデルの構築</h1> <p>Model = sequential()<br> Model.Add(conv2d(32、(3、3)、activation = 'lelu'、input_shape =(28、28、1)))<br> model.add(maxpooling2d((2、2)))<br> model.add(flatten())<br> model.add(10、activation = 'softmax'))</p> <h1>モデルをコンパイルします</h1> <p>model.compile(optimizer = 'adam'、loss = 'categorical_crossentropy'、metrics = ['quarcity'])</p> <h1>モデルのトレーニング</h1> <p>...</p> <h1>モデルを保存します</h1> <p>model.save( 'model.h5')<br>
まず、PHPにPHP拡張機能を提供するTensorflowをインストールする必要があります。作曲家は簡単にインストールできます:
作曲家は、Tensorflow-Serving-API-PHPを必要とします
次に、PHPスクリプトを書き、モデルをロードし、予測操作を実行します。
<?php require 'vendor/autoload.php'; <p>tensorflowservingpredictre -equestを使用します。<br> Tensorflowsinvingpredictresponseを使用します。<br> guzzlehttp \ clientを使用します。</p> <p>//必要とするデータを意味します<br> $ request = new Predictrequest();<br> $ request-> setModelspecname( 'Model');<br> $ request-> setModelspecsignatureName( 'servinving_default');</p> <p>//入力データを変換します<br> $ input = [<br> 'image' => [<br> 'b64' => base64_encode(file_get_contents( 'image.jpg'))<br> ]<br> ];<br> $ request-> setInputs($ input);</p> <p>//リクエストを送信します<br> $ client = new Client(['base_uri' => 'http:// localhost:8501']);<br> $ response = $ client-> post( '/v1/models/model:predict'、[<br> 'headers' => ['content-type' => 'application/json']、<br> 'body' => $ request-> serializetostring()<br> ]);</p> <p>$ response = new Predictresponse($ response-> getBody() - > getContents());</p> <p>//予測の結果を得るします<br> $ outputs = $ response-> getOutputs();<br> $ prediction = reset($ outputs)['floatval'] [0];<br>
上記のコードでは、推定のないオブジェクトを定義し、モデル名と署名を設定します。次に、入力データをモデル要件を満たす形式に変換し、TensorflowサービングのREST APIインターフェイスを介して要求を送信し、最後に返された結果から予測データを抽出します。
UbuntuサーバーでApacheをインストールして開始するためのコマンドの例は次のとおりです。
sudo apt-getインストールapache2 sudoサービスapache2始める
PHPスクリプトを.phpファイルとして保存し、ApacheのWebルートディレクトリに配置します。その後、特定のURLにアクセスすることにより、機械学習モデルのオンライン予測を行うことができます。