인공지능 AI/딥러닝
구글 코랩에서 만든 ai모델을 파이참에 불러오기
하나비 HANABI
2023. 3. 31. 15:28
교재를 보며 자연어 처리 모델을 코랩에 구현했다.
이 모델을 웹서비스에서 제공하기 위해서는 어떻게 해야 할까??
먼저 학습을 마친 모델(체크포인트 파일)과 코랩에서 작성한 실전 투입용 코드를 각각 다운로드 받는다.
참고로 코드는 py파일 타입으로 다운받아야 한다.
그리고 파일에 import된 모든 것을 settings에서 다운받는다...^^ ratsnlp는 설치에 시간이 좀 걸렸다.
그리고 해당 파일에 정의된 결과리턴용 함수를 views.py에서 호출하면 된다.
views.py
from django.shortcuts import render
from colab import nlp_service_0331
# Create your views here.
def basic(request):
return render(request, 'basic.html',)
def nlp(request):
sentence = request.POST['sentence']
result = nlp_service_0331.inference_fn(sentence)
context = {'result' : result}
return render(request, 'result.html', context)
basic.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Basic</title>
</head>
<body>
<form action="../nlp/result/" method="POST">
{% csrf_token %}
영화 감상평을 입력하세요 <input type="text" name="sentence">
<input type="submit" value="확인">
</form>
</body>
</html>
result.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Result</title>
<style>
<!-- CSS -->
.progress-bar {
}
.progress-bar-pos .progress {
width: {{result.positive_width}};
height: 20px;
padding: 0;
background-color: skyblue;
}
.progress-bar-neg .progress {
width: {{result.negative_width}};
height: 20px;
padding: 0;
background: red;
}
.progress-bar-all .progress {
width: 100%;
height: 20px;
padding: 0;
background: linear-gradient(to right, skyblue 0 {{result.positive_width}}, red {{result.positive_width}} 100%);
}
</style>
</head>
<body>
리뷰: {{result.sentence}} <br>
예측: {{result.prediction}} <br>
긍정: {{result.positive_data}} <br>
부정: {{result.negative_data}} <br>
<br>
긍정도: {{result.positive_width}}
<div class="progress-bar-pos">
<div class="progress"> </div>
</div>
부정도: {{result.negative_width}}
<div class="progress-bar-neg">
<div class="progress"> </div>
</div>
<br>
비율:
<div class="progress-bar-all">
<div class="progress"> </div>
</div>
</body>
</html>
결과