Wie man PHP verwendet, um Online-Bereitstellung und Servitisierung von Modellen für maschinelles Lernen zu erstellen

WBOY
Freigeben: 2023-07-29 17:48:01
Original
1433 Leute haben es durchsucht

So verwenden Sie PHP zum Aufbau der Online-Bereitstellung und Servitisierung von Modellen für maschinelles Lernen.

Einführung:
Mit der rasanten Entwicklung der künstlichen Intelligenz werden Modelle für maschinelles Lernen zunehmend in verschiedenen Bereichen eingesetzt. Für Entwickler ist es jedoch zu einem dringenden Problem geworden, das trainierte Modell schnell in der Online-Umgebung bereitzustellen und serviceorientierte Schnittstellen bereitzustellen. In diesem Artikel wird erläutert, wie Sie mit PHP die Online-Bereitstellung und Servitisierung von Modellen für maschinelles Lernen erstellen und entsprechende Codebeispiele bereitstellen.

1. Umgebungseinrichtung
Um das Online-Bereitstellungs- und serviceorientierte Modell für maschinelles Lernen zu erstellen, müssen wir zunächst eine PHP-Entwicklungsumgebung erstellen. Sie können XAMPP, WampServer und andere Tools verwenden, um eine lokale PHP-Entwicklungsumgebung aufzubauen. Auf diese Weise können wir unseren Code mit PHP schreiben und ausführen.

2. Bereiten Sie das trainierte Modell für maschinelles Lernen vor
Bevor wir mit dem Aufbau des Online-Bereitstellungsdienstes beginnen, müssen wir ein bereits trainiertes Modell für maschinelles Lernen vorbereiten. Sie können Python oder andere Frameworks für maschinelles Lernen verwenden, um das Modell zu trainieren und das trainierte Modell als Datei zu speichern. Hier nehmen wir ein einfaches Bildklassifizierungsmodell. Wir speichern das Modell als .h5-Datei.

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')
Nach dem Login kopieren

3. Verwenden Sie PHP, um das Modell zu laden und Vorhersagen zu treffen.
In PHP können wir einige Bibliotheken von Drittanbietern verwenden, um mit Python trainierte Modelle zu laden und zu verwenden. Hier ist eine gängige Methode zur Verwendung von TensorFlow Serving, um das Modell zu laden und Vorhersagen zu treffen.

Zuerst müssen wir die TensorFlow SERVing PHP-Erweiterung in PHP installieren. Es kann mit Composer installiert werden:

composer require tensorflow-serving-api-php
Nach dem Login kopieren

Als nächstes können wir ein einfaches PHP-Skript schreiben, um das Modell zu laden und Vorhersagen zu treffen.

<?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];
Nach dem Login kopieren

Im obigen Code definieren wir zunächst ein PredictRequest-Objekt und legen den Namen und die Signatur des Modells fest. Anschließend konvertieren wir die Eingabedaten in ein Format, das den Modellanforderungen entspricht, und senden eine Anfrage an die REST-API von TensorFlow Serving. Schließlich erhalten wir die Vorhersageergebnisse aus den zurückgegebenen Ergebnissen.

4. Stellen Sie das PHP-Skript in der Online-Umgebung bereit.
Nachdem wir das Laden und die Vorhersage des Modells abgeschlossen haben, können wir das PHP-Skript in der Online-Umgebung bereitstellen und eine serviceorientierte Schnittstelle bereitstellen. Sie können Apache, Nginx oder andere Webserver verwenden, um PHP-Skripte bereitzustellen.

sudo apt-get install apache2
sudo service apache2 start
Nach dem Login kopieren

Speichern Sie das PHP-Skript als PHP-Datei und legen Sie es im Stammverzeichnis der Apache-Website ab. Anschließend können wir unser Machine-Learning-Modell nutzen, indem wir auf die entsprechende URL zugreifen.

Zusammenfassung:
In diesem Artikel wird erläutert, wie Sie mit PHP die Online-Bereitstellung und den Service von Modellen für maschinelles Lernen erstellen. Durch den Aufbau einer PHP-Entwicklungsumgebung, die Vorbereitung des trainierten Modells, die Verwendung von PHP zum Laden des Modells und Durchführen von Vorhersagen und schließlich die Bereitstellung des PHP-Skripts in der Online-Umgebung können wir das trainierte Modell für maschinelles Lernen problemlos als Dienst bereitstellen, um Online-Vorhersagefunktionen zu erreichen . . Ich hoffe, dass dieser Artikel für die Online-Bereitstellung und Servitisierung von Modellen für maschinelles Lernen mit PHP hilfreich sein wird.

Referenzlink:
[1] Offizielles TensorFlow Serving-Dokument: https://www.tensorflow.org/tfx/serving/api_rest

Das obige ist der detaillierte Inhalt vonWie man PHP verwendet, um Online-Bereitstellung und Servitisierung von Modellen für maschinelles Lernen zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage