빅데이타 & 머신러닝/머신러닝

머신러닝 라벨 데이타 타입에 대해서

Terry Cho 2017. 4. 10. 23:59

머신러닝 라벨 데이타 타입에 대해서


조대협 (http://bcho.tistory.com)


샘플로 만들고 있는 얼굴 인식 모델에서, 가독성을 높이기 위해서 학습데이타 라벨을 문자열을 썼다.

예를 들어서 이미지가 있으면 그에 대한 라벨을 안젤리나졸리 와 같은 문자열을 사용했는데, CNN의 가장 마지막 레이어에서 Softmax 적용하고 나오는 결과가 숫자이기 때문에 문자열을 사용할 수 없다는 것은 알았지만, 그래도 가독성을 높이고, 나중에 문자열을 --> 숫자로 (파이썬 리스트를 사용할 요량으로) 코딩했었는데, 텐서플로우 코딩에서는 텐서 문자열을 가지고, 파이썬 리스트에서 index를 얻어올 수 없다.


예를 들어


label_index = ["안젤리아졸리","브레드 피트"] 


라는 파이쎤 리스트형이 있을때


label_string_tensor 라는 문자열 텐서로


label_index_tensor = label_index.indexOf(label_string_tensor)


식으로 하려고 했는데 타입에러가 난다. 그래서 어떻게 하느냐를 찾아보니, tf.contrib에는 나름 방법이 있는듯한데, 이 예제는 바닐라 텐서플로우만을 사용하려고 했기 때문에, 결국 방법을 못찾고 포기하고, 다시 데이타셋을 만드는중.. -_-; 에효..


앞으로 더 해야 하는 것이


  • 얼굴 인식 CNN 모델 만들고 학습시키기
  • 정확도 80% 이상으로 튜닝하기
  • Tensor Serving + gRPC 클라이언트 + 웹 UI로 이미지 업로드 하면, 인식해주는 prediction 인터페이스 만들기
  • GPU를 이용해서 학습 속도 높이기
  • CloudML + GPU를 이용하여 분산 학습하기
  • CloudML 을 이용하여 Prediction 하기
요즘 시간이 없어서 진도가 잘 안나가는데, 80% 이상 모델 만드는것 까지만 이번달까지 끝나면 좋겠다.
다 끝나면 문서로 정리하기 (책하나 나올듯 정말)
추가로 해야할것이
  • Ensemble model 만들어서 정확도 높이기
  • 데이타 뻥튀기 하기
  • Inception model 이용해서 Transfer learning 해보기
이거 다 끝나면 RNN 넘어가기... (올해에는 끝나겠지..)