Yoonjunhyeon

최종보고서 및 readme 수정

...@@ -3,16 +3,18 @@ ...@@ -3,16 +3,18 @@
3 --- 3 ---
4 4
5 ## Intro 5 ## Intro
6 -Tag Money?는 동영상에 어울리는 유튜브 태그 추천해 주는 웹 서비스입니다. 6 +Tag Money?는 동영상에 어울리는 유튜브 태그와 관련 유튜브 영상을 추천해 주는 웹 서비스입니다.
7 -유저가 영상을 업로드하면 기존 유튜브 영상들과의 유사성을 파악하여 가장 어울리는 태그을 추천해 줍니다. 7 +유저가 영상을 업로드하면 기존 유튜브 영상들과의 유사성을 파악하여 가장 어울리는 태그와 연관된 유튜브 영상을 추천해 줍니다.
8 본 프로젝트는 박광훈 교수님의 **유튜브 동영상 분류를 위한 자동 태깅 방법에 대한 연구**에 기반하고 있습니다. 8 본 프로젝트는 박광훈 교수님의 **유튜브 동영상 분류를 위한 자동 태깅 방법에 대한 연구**에 기반하고 있습니다.
9 9
10 ## Research field 10 ## Research field
11 -* Video Classification (CNN, RNN, LSTM) 11 +* Video Classification
12 -* Auto Tagging 12 +* NLP
13 +* Word Vectorization
13 14
14 ## Tech Stack 15 ## Tech Stack
15 -* [PyTorch](https://pytorch.org/) 16 +* [Tensorflow](https://www.tensorflow.org/)
17 +* [Gensim](https://radimrehurek.com/gensim/)
16 * [Django](https://www.djangoproject.com/) 18 * [Django](https://www.djangoproject.com/)
17 * [Vue.js](https://kr.vuejs.org/v2/guide/index.html) 19 * [Vue.js](https://kr.vuejs.org/v2/guide/index.html)
18 20
...@@ -26,3 +28,31 @@ Tag Money?는 동영상에 어울리는 유튜브 태그를 추천해 주는 웹 ...@@ -26,3 +28,31 @@ Tag Money?는 동영상에 어울리는 유튜브 태그를 추천해 주는 웹
26 28
27 ## Links 29 ## Links
28 * [Youtube-8M Challenge](https://research.google.com/youtube8m/) 30 * [Youtube-8M Challenge](https://research.google.com/youtube8m/)
31 +* [Mediapipe](https://github.com/google/mediapipe)
32 +
33 +
34 +## How to run.
35 +### 필요한 라이브러리 설치
36 +1. git pull ssh://git@khuhub.khu.ac.kr:12959/2020-1-capstone-design1/PKH_Project1.git
37 +2. python 3.5 ~ 3.7, node.js 12.16
38 +3. google mediapipe 설치 https://google.github.io/mediapipe/getting_started/install
39 +4. YouTube-8M feature extraction graph 설치 https://github.com/google/mediapipe/tree/master/mediapipe/examples/desktop/youtube8m (요구 사양 RAM 32GB 이상)
40 +5. PKH_Project1/web/backend에서 requirements.txt 설치 (venv 사용 권장) -> pip install -r requirements.txt
41 +6. PKH_Project1/web/frontend에서 package.json 설치 -> npm install
42 +
43 +### 모델 학습
44 +1. Train
45 + - python train.py --frame_features --model=FrameLevelLogisticModel --feature_names='rgb,audio' --feature_sizes='1024,128' --train_data_pattern=/Train_데이터셋_저장경로/train*.tfrecord --train_dir PKH_Project1/web/backend/yt8m/esot3ria/model --start_new_model --segment_labels
46 +2. Evaluation
47 + - python eval.py --eval_data_pattern=/Eval_데이터셋_저장경로/val*.tfrecord --train_dir PKH_Project1/web/backend/yt8m/esot3ria/model --run_once --segment_labels
48 +
49 +
50 +### 웹서버 가동
51 +#### 1~6의 절차가 반드시 완료되어 있어야 합니다.
52 +- PKH_Project1/web/backend 디렉토리에서
53 + - . env/bin/activate (가상환경 사용 시)
54 + - python manage.py makemigrations
55 + - python manage.py migrate
56 + - python manage.py runserver
57 +#### front UI 수정하고 싶을 시, Vue의 사용법을 알아야합니다!
58 +#### backend를 수정하고 싶을 시 django의 사용법을 알아야합니다!
...\ No newline at end of file ...\ No newline at end of file
......
1 -#!/bin/bash
2 -cd ../frontend
3 -npm install
4 -npm run build
5 -
6 -cd ../backend
7 -. env/bin/activate
8 -pip install -r requirements.txt
9 -rm -rf static
10 -./manage.py collectstatic
11 -rm -rf static/admin
12 -rm -rf static/rest_framework
13 -
14 -python manage.py makemigrations
15 -python manage.py migrate
16 -
17 -# python vue2djangoTemplate.py (자동화 - 작성예정, 어캐함??ㅠ)
18 -
19 -# 현재 vue index를 django template으로 자동화 하는 코드를 작성하지 못하여,
20 -# 수동으로 바꿔야 합니다.
21 -# 이 스크립트를 실행 후에 생기는 static/index.html의
22 -# href, src 링크를 templates/index.html의 href, src로 변경하면 정상적으로 작동합니다.
...\ No newline at end of file ...\ No newline at end of file
1 -#!/bin/bash
2 -cd ../frontend
3 -npm install
4 -npm run build
5 -
6 -cd ../backend
7 -. env/bin/activate
8 -pip install -r requirements.txt
9 -rm -rf static
10 -./manage.py collectstatic
11 -rm -rf static/admin
12 -rm -rf static/rest_framework
13 -
14 -python manage.py makemigrations
15 -python manage.py migrate
16 -python vue2djangoTemplate.py
17 -python manage.py runserver 0.0.0.0:8000
...\ No newline at end of file ...\ No newline at end of file