미션: 수어를 통한 챗봇 웹피이지 만들기
Framework
Django
목표
활용기술
mlflow란?
모델의 실행을 추적(tracking), 모델링 결과를 저장, 관리, 배포 관리하도록 돕는 오픈 소스 도구
운영중인 모델 로딩하기 --> model uri 지정하여 불러옴
mlflow.sklearn.log_model(model, "model", registerd_model_name="RF_Model")
# 버전으로 가져오기
model_uri = "models:/RF_model/6"
model = mlflow.sklearn.load_model(model_url)
# 최신 버전으로 가져오기
model_uri = "models:/RF_model/latest"
model = mlflow.sklearn.load_model(model_url)
# 운영 중인 버전으로 가져오기
model_uri = "models:/RF_model/production"
model = mlflow.sklearn.load_model(model_url)
(1) 클라우드 환경 구축(Django 서버 구축하여 AWS로 배포)
① 장고 프로젝트 준비
② 가상환경 만들기
$conda create -n <가상환경명> python=3.10 -y
$conda activate <가상환경명>
$conda env list
③ 필요 라이브러리 설치
$pip install -r requirements.txt
④ 장고 구동
$python manage.py runserver
⑤ 서버 접속 및 화면 확인 (http://127.0.0.1:8000/))
① VPC 생성
② 서브넷 생성
③ ec2 인스턴스 생성
ssh 접속을 위한 putty 설정(콘솔 명령어 수행)
① putty 설치 링크
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
② putty 접속 후 ppk 설정(계정은 ubuntu)
③ private key 등록 후 오픈
④ ssh 접속 성공
$ mkdir deploy
$ ll
sftp 접속을 위한 winscp 설정(파일 전송 수행)
① winscp 설치 링크
https://winscp.net/eng/index.php
② 로그인>고급>private key 인증
③ 접속
④ 로컬 파일 영역에서 장고 소스를 찾아 서버로 드래그(전송)
① putty에서 anaconda 다운로드
$wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
② anaconda 파일 유효성 검증
$shasum -a 256 /home/ubuntu/Anaconda3-2022.10-Linux-x86_64.sh
③ anaconda 설치
$bash ./Anaconda3-2022.10-Linux-x86_64.sh
yes/no가 나올 때까지 스페이스바 후 yes 입력
④ 설치 후 putty 재접속하면 콘다 가상환경이 기본 설정됨
⑤ 파이썬 버전을 맞추기 위해 파이썬 3.10 기반의 가상환경 생성
$conda create -n <가상환경명> python=3.10 -y
가상환경 접속!
⑥ 장고 소스가 있는 폴더로 이동 후 패키지, 추가 라이브러리 설치
$cd deploy/<폴더명>
$pip install -r requirements_linux.txt
$sudo apt install libgl1-mesa-glx
$sudo /home/ubuntu/anaconda3/envs/mini7/bin/python manage.py runserver 0:80
$nohup sudo /home/ubuntu/anaconda3/envs/mini7/bin/python manage.py runserve r 0:80&
$sudo fuser -k -n tcp 80
🚩7차 미니 프로젝트를 마치며
벌써 마지막 미니 프로젝트가 끝났다. 이번 프로젝트는 Django를 통한 웹 서비스 구현으로 수어 서비스를 진행했다. openai api키를 활용하여 서비스를 하니, 세상이 많이 바뀌었다는 것을 몸소 체험할 수 있었다. 또한 mlflow로 효과적인 모델 관리를 하고 AWS를 통한 배포까지 경험을 해보며 하나의 서비스를 완성할 수 있었던 경험이였다. 다음은 빅프로젝트! 가보자고👊