본문 바로가기
반응형

블로그 글161

[P-Stage] 마스크 데이터 분류 대회 리포트 - 2 실험 2 - Classification Model 분류 문제를 진행함에 있어 성능을 저하시킬 수 있는 요소들을 배제하고 실험할 수 있도록 데이터를 설계후 실험 진행 실험 2. 1 가설 : 데이터를 분석해본 결과 각 라벨별로 가장 수가 적은 라벨의 데이터는 83 장의 사진이고 그 다음으로 적은 수의 데이터는 109 장인 것으로 나타남. 따라서 라벨당 데이터를 100장씩 뽑아서 subsampling 할 경우 충분히 균등한 데이터셋을 만들 수 있음. 18개의 라벨에 대해서 각 100장씩 뽑으면 1800장의 사진이 확보됨. 이 사진에 대해서 분류문제 진행. 검증 : ResNet18을 이용하여 미리 학습하지 않은 모델과 ImageNet에 대해서 학습된 모델을 각각 해당 이미지 세트에 훈련함. 훈련시 대회의 Met.. 2021. 9. 3.
[P-Stage] 마스크 데이터 분류 대회 리포트 - 1 대회 목적 사람의 얼굴이 찍힌 사진을 인식하여 나이 / 성별 / 마스크 착용상태를 동시에 예측하는 모델 만들기 EDA 주의 : 대회에 사용된 모든 사진은 캠프 교육에만 활용될 수 있음. 외부 유출 금지. 메타 데이터 CSV 형태의 메타데이터가 주어지고 ID, 성별, 나이, 인종 이 주어짐. 이 셋을 "_"로 조합하면 해당 인물에 대한 사진이 들어있는 폴더 경로가 주어짐. 각 인물당 마스크를 바르게 착용한 사진 3장, 착용하지 않은 사진 1장, 바르지 않게 착용한 사진 1장 총 7장의 사진이 주어짐. 예측해야하는 라벨은 성별 : 남/녀 마스크 : 착용 / 미착용 / 오착용 나이 : 30세 미만 / 30세 이상 / 60세 미만 / 60세 이상 의 총 18가지 라벨을 예측. 성별 남녀간의 성비를 조사한 결과 .. 2021. 9. 3.
[ Inflearn ] 머신러닝 엔지니어 실무 - 1 # 파이프라인의 목적 1. 생산성 향상 2. 품질관리 : 지속적인 품질 하락에 따른 관리 3. 장애 대응 능력 향상 : 머신러닝의 장애는 기존의 방식으로 인지하기 어렵고 인지되어도 대처하기 어려운 부분이 많음 즉, 기술부채를 줄이기 위한 전략 # 유지 보수성을 위한 숙제들 - 리펙토링 - 종속성 제거 - API의 강화 - 미사용 코드 삭제 ( 버전 관리의 적극 활용 ) - 문서화 # 일반적인 ML 팀 구성 - Researcher ( ML의 이해는 높지만 SW이해가 낮다. ) - Software Engineer ( SW이해는 높지만 ML에 대한 이해가 낮다. ) - Research Engineer ( 양쪽에 대한 이해가 높아야 하고 중재역할을 잘 할 수 있어야한다. ) # 머신러닝 프로잭트 ML 프로잭트는.. 2021. 8. 28.
[ PyTorch ] DataLoader 잘 짜서 병목 극복하기, GPU util 높이기 문제 상황 GPU util이 왜 항상 20% 정도만 나올까. 정말 모델이 작아서 그런걸까? OOM이 뜨기 직전의 상황에도 왜 util은 100%를 찍지 않는 걸까. 이런 고민들을 해결해 보려고 초점을 맞춰 보겠다. 원인 우선은 조사한 결과 가장 많이 영향을 주는 것은 데이터를 load 하는 과정과 feed 하는 과정 사이에서 생기는 딜레이 때문이다. 해외의 pytorch 포럼이나 nvidia 포럼을 보아도 동일한 답변이고 스텍오버플로우나 기타 블로그에서도 데이터 로더의 설계문제라는 사실을 많이 지적한다. 따라서 데이터 로더를 좀 손보는 방향으로 실험을 진행했다. 데이터 로더 실험 이미지를 불러올때 몇가지 trade-off와 싸워야 한다. 흔히 말하는 공간복잡도와 시간복잡도의 싸움인데 메모리가 허락하는 한.. 2021. 8. 26.
[ BoostCamp ] Day-18 학습로그( PyTorch pretrained model ) 1) 강의 복습 내용 최근에는 MLOps 같은 내용들이 부각되면서 이미 잘 나와있는 좋은 모델들을 어떻게 하면 더 잘 쓸 수 있을까를 고민하는 시대가 왔다. 거기의 중심에는 pretrained model이 있고 이 모델들을 내 데이터에 맞게 fine tunning 하여서 원하는 성능을 끌어내는 그런 작업이 굉장히 널리 쓰이는 중이다. 테스크를 설계하고 데이터를 처리하고 모델을 트레이닝하고 하이퍼파라미터를 조정하는 일은 굉장히 고통스러운 일이기 때문에.. 이런 과정들을 최대한 줄이고 거기서 발생하는 리스크도 통제가 가능하다는 것이 fine tunning의 큰 장점이다. PyTorch에서는 모델을 저장하는 방법을 2가지 정도 제공한다. 첫번째는 모델의 파라미터만을 저장하는 방식이고 이 경우에는 파라미터의 사.. 2021. 8. 20.
[ BoostCamp ] Day-17 학습로그( PyTorch의 구조 학습 ) 1) 강의 복습 내용 PyTorch는 nn.Module로 시작해서 nn.Module로 끝난다고 해도 과언이 아니다. Pytorch 에서 가장 중요한 class는 nn.Module이다. 대부분의 layer들은 이 nn.Module의 자식들이고 거기서 훈련이 가능한 변수들은 nn.Parameter로 지정되어있다. nn.Parameter로 지정된 변수들은 register 라는 곳에 저장되는데 이렇게 저장된 변수만이 auto-grad로 gradient를 계산할 수 있다. 가끔 임의로 텐서를 추가해서 계산을 해야하는 경우가 있는데 이럴때도 미분에 반드시 기여해야한다면 nn.Parameter로 register 시켜주는 것이 좋다. 데이터를 모델이 잘 먹이는 것도 참 큰 일이다. TensorFlow 에서는 TFrec.. 2021. 8. 20.
반응형