텐서 플로우를 tf로 가져옵니다 tensorflow.keras에서 모드를 순차적으로 가져옵니다 Tensorflow.keras.layers에서 밀도가 높고 Concl2d, MaxPooling2d, Flatten을 가져옵니다 <h1>모델 구축</h1> <p>model = 순차 ()<br> model.add (concl2d (32, (3, 3), activation = 'relu', 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 = 'Carementorical_crossentropy', metrics = [ '정확도']))))</p> <h1>모델 훈련</h1> <p>...</p> <h1>모델을 저장하십시오</h1> <p>model.save ( 'model.h5')<br>
먼저 PHP에 PHP 확장 기능을 제공하는 텐서 플로우를 설치해야합니다. 작곡가를 쉽게 설치할 수 있습니다.
작곡가에는 텐서 플로우 서빙 -Api-php가 필요합니다
다음으로 PHP 스크립트를 작성하고 모델을로드하고 예측 작업을 수행하십시오.
<?php require 'vendor/autoload.php'; <p>TensorflowservingPredictRequest를 사용하십시오.<br> TensorFlowservingPredicTresponse를 사용하십시오.<br> guzzlehttp \ client를 사용하십시오.</p> <p>// 요청 데이터를 정의합니다<br> $ request = new PredictRequest ();<br> $ request-> setModelSpecName ( 'model');<br> $ request-> setmodelspecsignaturename ( 'serving_default');</p> <p>// 입력 데이터를 변환합니다<br> $ input = [<br> '이미지'=> [<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/model/model : predict', [<br> '헤더'=> [ '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>
위의 코드에서는 Predictrequest 객체를 정의하고 모델 이름과 서명을 설정합니다. 다음으로 입력 데이터를 모델 요구 사항을 충족하는 형식으로 변환하고 TensorFlow 서빙의 나머지 API 인터페이스를 통해 요청을 보내고 마지막으로 반환 된 결과에서 예측 된 데이터를 추출합니다.
Ubuntu 서버에서 Apache를 설치하고 시작하는 예제 명령은 다음과 같습니다.
sudo apt-get install apache2 Sudo Service Apache2 시작
PHP 스크립트를 .php 파일로 저장하고 Apache의 웹 루트 디렉토리에 배치하십시오. 그런 다음 특정 URL에 액세스하여 기계 학습 모델을 온라인으로 예측할 수 있습니다.