ML 모델 생성 및 RESTful API로 제공: 2부
4477 단어 machinelearningpythonflaskapi
시리즈의 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 요청만 합니다. 여기서 세 개의 매개변수를 사용합니다.
<?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;
<?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_init()
를 사용하여 cURL을 초기화할 때 반환됩니다.CURLOPT_URL
를 사용합니다.이것이 설정되면
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와 인터페이스가 있습니다 🎉!
Reference
이 문제에 관하여(ML 모델 생성 및 RESTful API로 제공: 2부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andreagon/creating-an-ml-model-and-serving-it-as-a-restful-api-part-2-1jnc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)