Skip to content

EO2-WAVY/WavyMachineLearningApiServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Wavy - MachineLearning API Server

인공지능 기반의 맞춤형 K-POP 댄스 학습 서비스






Introduction

Flask Python

Wavy MachineLearning API 서버는 Flask를 기반으로 위 개발 스택을 사용하였습니다.
사용자 영상 분석을 위한 분석 요청을 처리하여 인공지능 스크립트를 실행시키기 위해 개발했습니다.

Getting Started

Wavywww.wavy.dance에서 만나보실 수 있습니다.

Project Clone

git clone https://github.com/EO2-WAVY/WavyMachineLearningApiServer.git

Install Packages

pip install -r requirements.txt

Environment

.env에 환경변수를 설정해주세요.

FLASK_APP=app.py
FLASK_ENV=development
ROOT_DIR=[프로젝트 루트 디렉토리]
# /log안에는 flask-debug.log, flask-error.log 파일을 만들어주세요.
LOG_DIR=[로그 디렉토리]

CPU_CORE=[한번에 사용할 CPU 코어 개수]
PORT=[Flask 서버 포트]

ML_VENV_PATH=[인공지능 스크립트 가상환경 경로]
ML_PYTHON_SCRIPT_PATH=[인공지능 스크립트 경로]
ML_RUN_PATH=[인공지능 스크립트 실행 경로]

REF_JSON_S3_BUCKET=[비교에 사용할 영상 JSON 버킷명]
REF_JSON_PATH=[위 JSON 다운로드 경로]

EXT_JSON_S3_BUCKET=[사용자 모션 JSON을 업로드할 버킷명]
EXT_JSON_PATH=[사용자 모션 JSON이 저장되어있는 경로]

AN_JSON_S3_BUCKT=[분석 결과 JSON을 업로드할 버킷명]
AN_JSON_PATH=[분석결과 JSON이 저장되어있는 경로]

API_URL=[분석이 완료된 후 호출할 API]

어플리케이션 실행

python3 app.py

Features

Directory Structure

/
├── scripts
│   └── [Shell script files]
├── src
│   └── [Python files]
├── .env
├── app.py
└── requerments.txt

Packages

astroid==2.8.2
certifi==2021.10.8
charset-normalizer==2.0.6
click==8.0.1
Flask==2.0.2
idna==3.2
isort==5.9.3
itsdangerous==2.0.1
Jinja2==3.0.2
lazy-object-proxy==1.6.0
MarkupSafe==2.0.1
mccabe==0.6.1
platformdirs==2.4.0
pylint==2.11.1
python-dotenv==0.19.0
requests==2.26.0
retrying==1.3.3
six==1.16.0
toml==0.10.2
typing-extensions==3.10.0.2
urllib3==1.26.7
waitress==2.0.0
Werkzeug==2.0.2
wrapt==1.12.1

Developer

해당 프로젝트는 소프트웨어 마에스트로 사업의 지원을 받아 개발되었습니다.

FE: hyesungoh AI: haeseoklee BE: Yeonwu

License

Wavy는 MIT라이선스를 따릅니다.

About

Flask API server for connection with API server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published