>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 기계 학습 모델의 온라인 배포 및 서비스화를 구축하는 방법

PHP를 사용하여 기계 학습 모델의 온라인 배포 및 서비스화를 구축하는 방법

WBOY
WBOY원래의
2023-07-29 17:45:231443검색

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을 사용하여 모델을 로드하고 예측하는 일반적인 방법입니다.

먼저 PHP에 TensorFlow SERving PHP 확장을 설치해야 합니다. 작곡가를 사용하여 설치할 수 있습니다:

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 또는 기타 웹 서버를 사용하여 PHP 스크립트를 배포할 수 있습니다.

sudo apt-get install apache2
sudo service apache2 start

PHP 스크립트를 php 파일로 저장하고 Apache의 웹사이트 루트 디렉터리에 저장하세요. 그런 다음 해당 URL에 액세스하여 기계 학습 모델을 사용할 수 있습니다.

요약:
이 글에서는 PHP를 사용하여 머신러닝 모델의 온라인 배포 및 서비스를 구축하는 방법을 소개합니다. PHP 개발 환경을 구축하고, 훈련된 모델을 준비하고, PHP를 사용하여 모델을 로드하고 예측을 수행하고, 마지막으로 PHP 스크립트를 온라인 환경에 배포함으로써 훈련된 기계 학습 모델을 온라인 예측 기능을 달성하기 위한 서비스로 쉽게 제공할 수 있습니다. . 이 글이 PHP를 이용한 머신러닝 모델의 온라인 배포와 서비스화에 도움이 되기를 바랍니다.

참조 링크:
[1] TensorFlow Serving 공식 문서: https://www.tensorflow.org/tfx/serving/api_rest

위 내용은 PHP를 사용하여 기계 학습 모델의 온라인 배포 및 서비스화를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.