ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して機械学習モデルのオンライン展開とサービス化を構築する方法

PHP を使用して機械学習モデルのオンライン展開とサービス化を構築する方法

WBOY
WBOYオリジナル
2023-07-29 17:45:231437ブラウズ

PHP を使用して機械学習モデルのオンライン展開とサービス化を構築する方法

はじめに:
人工知能の急速な発展に伴い、機械学習モデルはさまざまな分野でますます使用されています。しかし、開発者にとって、トレーニングされたモデルをオンライン環境に迅速に展開し、サービス指向のインターフェイスを提供する方法は、解決すべき緊急の問題となっています。この記事では、PHP を使用して機械学習モデルのオンライン展開とサービス化を構築する方法を紹介し、対応するコード例を示します。

1. 環境セットアップ
オンライン デプロイメントとサービス指向の機械学習モデルを構築するには、まず PHP 開発環境を構築する必要があります。 XAMPP、WampServer、その他のツールを使用して、ローカルの PHP 開発環境を構築できます。このようにして、PHP を使用してコードを作成して実行できます。

2. トレーニング済みの機械学習モデルを準備する
オンライン デプロイ サービスの構築を開始する前に、すでにトレーニング済みの機械学習モデルを準備する必要があります。 Python またはその他の機械学習フレームワークを使用してモデルをトレーニングし、トレーニングされたモデルをファイルとして保存できます。ここでは例として単純な画像分類モデルを取り上げ、モデルを .h5 ファイルとして保存します。

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, MaxPooling2D, Flatten

# 构建模型
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(MaxPooling2D((2, 2)))
model.add(Flatten())
model.add(Dense(10, activation='softmax'))

# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# 训练模型
...
# 省略训练代码

# 保存模型
model.save('model.h5')

3. PHP を使用してモデルをロードし、予測を行う
PHP では、いくつかのサードパーティ ライブラリを使用して、Python でトレーニングされたモデルをロードして使用できます。 TensorFlow Serving を使用してモデルをロードし、予測を行う一般的な方法を次に示します。

まず、TensorFlow SERving PHP 拡張機能を PHP にインストールする必要があります。これは、composer を使用してインストールできます。

composer require tensorflow-serving-api-php

次に、モデルをロードして予測を行うための簡単な PHP スクリプトを作成できます。

<?php

require 'vendor/autoload.php';

use TensorFlowServingPredictRequest;
use TensorFlowServingPredictResponse;
use GuzzleHttpClient;

// 定义请求数据
$request = new PredictRequest();
$request->setModelSpecName('model');
$request->setModelSpecSignatureName('serving_default');

// 转换输入数据
$input = [
    'image' => [
        'b64' => base64_encode(file_get_contents('image.jpg'))
    ]
];
$request->setInputs($input);

// 发送请求
$client = new Client(['base_uri' => 'http://localhost:8501']);
$response = $client->post('/v1/models/model:predict', [
    'headers' => ['Content-Type' => 'application/json'],
    'body' => $request->serializeToString()
]);
$response = new PredictResponse($response->getBody()->getContents());

// 获取预测结果
$outputs = $response->getOutputs();
$prediction = reset($outputs)['floatVal'][0];

上記のコードでは、まず PredictRequest オブジェクトを定義し、モデルの名前と署名を設定します。次に、入力データをモデル要件を満たす形式に変換し、TensorFlow Serving の REST API にリクエストを送信します。最後に、返された結果から予測結果を取得します。

4. PHP スクリプトをオンライン環境にデプロイする
モデルの読み込みと予測が完了したら、PHP スクリプトをオンライン環境にデプロイし、サービス指向のインターフェイスを提供できます。 Apache、Nginx、またはその他の Web サーバーを使用して PHP スクリプトを展開できます。

sudo apt-get install apache2
sudo service apache2 start

PHP スクリプトを php ファイルとして保存し、Apache Web サイトのルート ディレクトリに配置します。その後、対応する URL にアクセスして機械学習モデルを使用できます。

概要:
この記事では、PHP を使用して機械学習モデルのオンライン デプロイメントとサービスを構築する方法を紹介します。 PHP開発環境を構築し、学習済みモデルを準備し、PHPを使用してモデルを読み込んで予測し、最後にPHPスクリプトをオンライン環境にデプロイすることで、オンライン予測機能を実現するための学習済み機械学習モデルをサービスとして簡単に提供できます。 . .この記事が、PHP を使用した機械学習モデルのオンライン展開とサービス化に役立つことを願っています。

参考リンク:
[1] TensorFlow Serving 公式ドキュメント: https://www.tensorflow.org/tfx/serving/api_rest

以上がPHP を使用して機械学習モデルのオンライン展開とサービス化を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。