윤영빈

mid report edited

# 비디오 벡터를 이용한 내용 기반 유튜브 영상 추천 시스템
## Intro
- Tag Money?는 동영상에 어울리는 유튜브 태그와 관련 유튜브 영상을 추천해 주는 웹 서비스입니다.
- 유저가 영상을 업로드하면 기존 유튜브 영상들과의 유사성을 파악하여 가장 어울리는 태그와 연관된 유튜브 영상을 추천해 줍니다.
- 본 프로젝트는 박광훈 교수님의 **유튜브 동영상 분류를 위한 자동 태깅 방법에 대한 연구**에 기반하고 있습니다.
# Video vector list를 이용한 내용 기반 유튜브 영상 추천 시스템 개선안
## Research field
* Video Classification
* NLP
* Video Understanding
* Word Vectorization
## Tech Stack
......@@ -29,28 +23,23 @@
## How to run.
### 필요한 라이브러리 설치
1. git pull ssh://git@khuhub.khu.ac.kr:12959/2020-1-capstone-design1/PKH_Project1.git
2. python 3.5 ~ 3.7, node.js 12.16
3. google mediapipe 설치 https://google.github.io/mediapipe/getting_started/install
4. YouTube-8M feature extraction graph 설치 https://github.com/google/mediapipe/tree/master/mediapipe/examples/desktop/youtube8m (요구 사양 RAM 32GB 이상)
5. PKH_Project1/web/backend에서 requirements.txt 설치 (venv 사용 권장) -> pip install -r requirements.txt
6. PKH_Project1/web/frontend에서 package.json 설치 -> npm install
5. 2015104192/web/backend에서 requirements.txt 설치 (venv 사용 권장) -> pip install -r requirements.txt
6. 2015104192/web/frontend에서 package.json 설치 -> npm install
### 모델 학습
1. Train
- 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
- python train.py --frame_features --model=FrameLevelLogisticModel --feature_names='rgb,audio' --feature_sizes='1024,128' --train_data_pattern=/Train_데이터셋_저장경로/train*.tfrecord --train_dir 2015104192/web/backend/yt8m/esot3ria/model --start_new_model --segment_labels
2. Evaluation
- python eval.py --eval_data_pattern=/Eval_데이터셋_저장경로/val*.tfrecord --train_dir PKH_Project1/web/backend/yt8m/esot3ria/model --run_once --segment_labels
- python eval.py --eval_data_pattern=/Eval_데이터셋_저장경로/val*.tfrecord --train_dir 2015104192/web/backend/yt8m/esot3ria/model --run_once --segment_labels
### 웹서버 가동
#### 1~6의 절차가 반드시 완료되어 있어야 합니다.
- PKH_Project1/web/backend 디렉토리에서
- 2015104192/web/backend 디렉토리에서
- . env/bin/activate (가상환경 사용 시)
- python manage.py makemigrations
- python manage.py migrate
- python manage.py runserver
#### front UI 수정하고 싶을 시, Vue의 사용법을 알아야합니다!
#### backend를 수정하고 싶을 시 django의 사용법을 알아야합니다!
\ No newline at end of file
- python manage.py runserver
\ No newline at end of file
......
......@@ -16,4 +16,4 @@ def recommend_videos(tags, tag_model_path, video_model_path, top_k):
error_tags.append(tag)
similar_ids = [x[0] for x in video_vectors.similar_by_vector(video_vector, top_k)]
return similar_ids
return similar_ids
\ No newline at end of file
......
Lecture04에서 29페이지의 코드를 테스트해보실 때 28페이지의 loss 안에 이미 forward를 하고 있으므로, loss 내의 forward 혹은 29페이지 코드에서의 forward 중 하나는 지워주시기 바랍니다.
파트 분할
{
segment별로 가중치 부여 후 벡터 생성(저장방식)
학습모델 생성 및 학습
}
segment별로 가중치 부여 후 벡터 생성
\ No newline at end of file
segment별 벡터 비교(시간복잡도가 문제다)
활성함수 도입
......