/future_lab_project02

미래연구소 두번째 프로젝트

Primary LanguageJupyter Notebook

future_lab_project02

미래연구소 두번째 프로젝트

Music-Genre-Classification


시행착오

  • model(18_08_28): 데이터에 흰색 공백(테두리) 있음.

  • model(18_08_29): 데이터의 흰색 공백(테두리) 없앰.

  • model(18_08_30): dropout 뺌.

  • model_inceptionResNetV2 : 파라미터 5400만.파라미터가 많아도 효과를 비슷한 수준의 결과를 내서 더 빠른 모델로 선택.

  • DenseNet : 파라미터 700만 설정.

  • DenseNet_next : DenseNet에서 40 epoch돌리고 16 epoch 더 돌림. 즉 약 56 epoch 정도 돌림.


1. Preprocessing

1) .mp3 -> .wav

pydub - AudioSegment

immutable (숫자형, 문자형 , 튜플) 한 형태로 만들어 python으로 조작 가능한 형태로 변환

mutable(딕셔너리,리스트)

1

2) 파일 이름 통일 & 폴더 지정 해주는 과정

파일 이름의 자리수 통일

 .zfill(3) 
    문자열 앞에 0을 3개를 채워준다 

2

  • 오류 파일 3개는 예외 처리 함

3) .wav -> .jpg

librosa 이용 하여 포맷 변경

3

2. Data Split

1)장르 별, split data 폴더 생성

4

2) train : val : test = 80 :10 :10

np.random.shuffle()
   파일들을 shuffling 한후 순서대로 val, test, train으로 나누어 준다 

5


3. Modeling

1

'Google Colab' 사용. Google에서 제공해주는 GPU로 model을 학습시킴.

2

Keras 사용.

3

 Data Split. ImageDataGenerator사용-> Train, Validation, Test 정의

4 5


DenseNet

kakaotalk_20181009_234246286

이전 레이어에서 다음 레이어를 이어주는 추가적인 Connection을 만들어 주어 레이어간의 의미있는 논리 전개 가능.


6

Optimizer: Adam. decay: 0.01 patience=10. 10번째 기다렸다가 학습 정도의 개선의 여지가 없어서 스탑시킴. 원래 40 epoch돌리고 이 코드에서 16 epoch 더 돌린것.

7 8 9 1 10 1


4. Evaluate The Model

11 12

 최종 결과 : 57.25%