Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin

Cara menggunakan PHP untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin

WBOY
WBOYasal
2023-07-29 17:45:231389semak imbas

Cara menggunakan PHP untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin

Pengenalan:
Dengan perkembangan pesat kecerdasan buatan, model pembelajaran mesin semakin digunakan dalam pelbagai bidang. Walau bagaimanapun, bagi pembangun, cara menggunakan model terlatih dengan cepat ke persekitaran dalam talian dan menyediakan antara muka berorientasikan perkhidmatan telah menjadi masalah segera untuk diselesaikan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin serta menyediakan contoh kod yang sepadan.

1. Persediaan persekitaran
Untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin, kami perlu membina persekitaran pembangunan PHP terlebih dahulu. Anda boleh menggunakan XAMPP, WampServer dan alatan lain untuk membina persekitaran pembangunan PHP tempatan. Dengan cara ini kami boleh menulis dan menjalankan kod kami menggunakan PHP.

2 Sediakan model pembelajaran mesin terlatih
Sebelum mula membina perkhidmatan penggunaan dalam talian, kami perlu menyediakan model pembelajaran mesin yang sudah terlatih. Anda boleh menggunakan Python atau rangka kerja pembelajaran mesin lain untuk melatih model dan menyimpan model terlatih sebagai fail. Di sini kami mengambil model klasifikasi imej ringkas sebagai contoh Kami menyimpan model sebagai fail .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 Gunakan PHP untuk memuatkan model dan membuat ramalan
Dalam PHP, kami boleh menggunakan beberapa perpustakaan pihak ketiga untuk memuatkan dan menggunakan model terlatih Python. Berikut ialah kaedah biasa untuk menggunakan TensorFlow Serving untuk memuatkan model dan membuat ramalan.

Pertama, kita perlu memasang sambungan PHP SERving TensorFlow dalam PHP. Ia boleh dipasang menggunakan komposer:

composer require tensorflow-serving-api-php

Seterusnya, kita boleh menulis skrip PHP mudah untuk memuatkan model dan membuat ramalan.

<?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];

Dalam kod di atas, kami mula-mula mentakrifkan objek PredictRequest dan menetapkan nama dan tandatangan model. Kemudian, kami menukar data input kepada format yang memenuhi keperluan model dan menghantar permintaan kepada API REST TensorFlow Serving. Akhirnya, kami mendapat keputusan ramalan daripada hasil yang dikembalikan.

4. Gunakan skrip PHP ke persekitaran dalam talian
Selepas kami menyelesaikan pemuatan dan ramalan model, kami boleh menggunakan skrip PHP ke persekitaran dalam talian dan menyediakan antara muka berorientasikan perkhidmatan. Anda boleh menggunakan Apache, Nginx atau pelayan web lain untuk menggunakan skrip PHP.

sudo apt-get install apache2
sudo service apache2 start

Simpan skrip PHP sebagai fail php dan letakkan ke dalam direktori akar tapak web Apache. Kami kemudiannya boleh menggunakan model pembelajaran mesin kami dengan mengakses URL yang sepadan.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan PHP untuk membina penggunaan dalam talian dan perkhidmatan model pembelajaran mesin. Dengan membina persekitaran pembangunan PHP, menyediakan model terlatih, menggunakan PHP untuk memuatkan model dan membuat ramalan, dan akhirnya menggunakan skrip PHP ke persekitaran dalam talian, kami boleh menyediakan model pembelajaran mesin terlatih dengan mudah sebagai perkhidmatan untuk mencapai fungsi ramalan dalam talian . Saya harap artikel ini akan membantu untuk penggunaan dalam talian dan penservitan model pembelajaran mesin menggunakan PHP.

Pautan rujukan:
[1] Dokumen rasmi TensorFlow Serving: https://www.tensorflow.org/tfx/serving/api_rest

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membina penggunaan dalam talian dan penservitan model pembelajaran mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn