ML 모델 생성 및 RESTful API로 제공: 2부

이 게시물은 모델 및 API 생성의 연속이므로 이 시리즈의 1부를 먼저 확인하십시오!

시리즈의 2부에서는 붓꽃의 꽃잎과 꽃받침의 너비와 길이를 요청하는 매우 간단한 웹 앱을 만드는 데 중점을 둘 것입니다. 그런 다음 Iris Classification Model API를 호출하여 주어진 사용자 데이터를 기반으로 Iris 꽃의 유형을 분류합니다. 웹 앱은 PHP 및 HTML로 생성되며 로컬 서버에서 호스팅됩니다.

웹 앱 코딩 🖥️



웹 앱에는 사용자 데이터를 수락하기 위한 4개의 입력 필드가 있습니다. 사용자가 제출을 클릭하면 API를 호출하고 예측된 분류를 JSON 형식으로 반환합니다.

이를 위해 iris-app.php라는 파일을 생성하고 내부에 다음 PHP 및 HTML 코드를 입력합니다.

<?php
  $form = "
  <!DOCTYPE html>
  <html>
    <body>
      <h1>Iris Classification</h1>
      <form action='iris-app.php' method='GET'>
        <p>Enter Sepal Length</p>
        <input type='text' name='slength'/>
        <br/>
        <p>Enter Sepal Width</p>
        <input type='text' name='swidth'/>
        <br/>
        <p>Enter Petal Length</p>
        <input type='text' name='plength'/>
        <br/>
        <p>Enter Petal Width</p>
        <input type='text' name='pwidth'/>
        <br/>
        <input type='submit' name='Submit'/>
        <input type='hidden' name='submitted' value='true'/>
      </form>

   </body>
  </html>";

echo $form;


제출 아래의 추가 입력 태그에 유의하십시오. 양식이 제출되었음을 프로그램에 알리는 데 사용됩니다.

다음과 같아야 합니다.


사용자가 제출을 클릭하면 API 요청을 수행할 위치와 동일한 파일로 다시 리디렉션됩니다. 그런 다음 사용자가 제출을 클릭하는 경우에만 요청이 발생하도록 if-else 문으로 양식을 묶어야 합니다. 그렇지 않으면 양식이 계속 표시됩니다.

그러면 코드는 다음과 같습니다.

<?php
  if(isset($_GET['submitted'])){
   //API Request Goes Here
  }
  else{
    $form = "<!DOCTYPE html>
    <html>
    <body>

    <h1>Iris Classification</h1>
    <form action='home.php' method='GET'>
      <p>Enter Sepal Length</p>
      <input type='text' name='slength'/>
      <br/>
      <p>Enter Sepal Width</p>
      <input type='text' name='swidth'/>
      <br/>
      <p>Enter Petal Length</p>
      <input type='text' name='plength'/>
      <br/>
      <p>Enter Petal Width</p>
      <input type='text' name='pwidth'/>
      <br/>
      <input type='submit' name='Submit'/>
      <input type='hidden' name='submitted' value='true'/>
    </form>

    </body>
    </html>";

    echo $form;
  }



cURL 라이브러리는 PHP에서 HTTP 요청을 만드는 데 사용할 수 있습니다. curl_init()를 사용하여 cURL 세션을 먼저 초기화한 다음 curl_setopt()를 사용하여 API 요청만 합니다. 여기서 세 개의 매개변수를 사용합니다.
  • cURL_handler - curl_init()를 사용하여 cURL을 초기화할 때 반환됩니다.
  • 옵션 - 변경할 설정에 대한 상수 값입니다. 이 프로그램의 경우 세 번째 매개변수
  • 의 값으로 URL을 전달하기 위해 CURLOPT_URL를 사용합니다.
  • 값 - 설정에 사용할 값입니다. 이 경우 쿼리로 사용자 입력과 함께 API를 호출합니다.

  • 이것이 설정되면 curl_exec()를 사용하여 요청을 보내고 마지막으로 curl_close를 사용하여 cURL 세션을 닫습니다.

    전체 코드는 다음과 같습니다.

    $swidth = $_GET['swidth'];
    $slength = $_GET['slength'];
    $pwidth = $_GET['pwidth'];
    $plength = $_GET['plength'];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://iris-classification-model.herokuapp.com/classify?swidth=".$swidth."&slength=".$slength."&pwidth=".$pwidth."&plength=".$plength);
    $result = curl_exec($ch);
    curl_close($ch);
    


    그리고 끝났습니다! 다음 값으로 프로그램을 실행하면:


    아이리스 분류는 다음과 같습니다.


    만세! 이제 모델 API와 인터페이스가 있습니다 🎉!

    좋은 웹페이지 즐겨찾기