목록Coding (139)
호기심 많은 분석가
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr CV과 NLP 중 한 도메인을 정해서 2주간 심화된 내용을 배우고, 그 후 남은 기간 동안 대회를 쭉 진행한다. 나는 여기서만큼 CV를 잘 배울 수 있는 곳이 없다고 생각해서 CV를 골랐고, 오늘 수업을 들었다. 예전 DL Basic 내용의 복습 느낌이었는데 많이 잊어버린 것들을 다시 리마인드 할 수 있어서 좋았다. 새로운 조원들과 함께하게 되어 아침에는 서로를 소개하고, 피어세션 룰을 정하는 시간을 가졌고, 이번에도 저번과 비슷한 방향으로 진행될 듯하다. 📙개인학습 (01강) Image Classification 1 CV란 영상으로부터 장면의 본질을 파악하는 것이다. 영상으로부터 장면의 본질을 파악한다..
GitHub - herjh0405/BC_Pstage1_Image_Classification: 부스트캠프_P-stage 첫 번째 이미지 분류 - 마스크 착용 상 부스트캠프_P-stage 첫 번째 이미지 분류 - 마스크 착용 상태 분류. Contribute to herjh0405/BC_Pstage1_Image_Classification development by creating an account on GitHub. github.com 1. 📑Summary COVID-19의 확산으로 우리나라는 물론 전 세계 사람들은 경제적, 생산적인 활동에 많은 제약을 가지게 되었습니다. 우리나라는 COVID-19 확산 방지를 위해 사회적 거리 두기를 단계적으로 시행하는 등의 많은 노력을 하고 있습니다. 과거 높은 사망률을..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크착용 분류 대회 드디어 첫 번째 대회 마지막 날이다. 전체적인 대회 회고 및 정리는 다음 포스팅에서 다루겠다. ResNet34 모델도 사용해봄 → 특별히 좋은 성능을 보이진 않음 성능을 최대로 끌어올리기 위해 여러 ensemble을 시도함 결과가 잘 나왔던 모델 2개를 ensemble 해서 Acc 79%, F1_score 0.76까지 달성했다. 우리는 Pretrained된 model에 우리 데이터를 학습시키기 때문에 그 모델의 원래 input size에 맞춰서 데이터를 입력해주는 것도 좋을 수 있다 ResNet18의 경우 224x224의 input size를 가지고 있어서, 우리 데이터를 ..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크착용 분류 대회 팀원들끼리 팀명에 걸맞게 이미지를 맞춤 Wandb의 사용 Intro to Weights & Biases Run, share, and edit Python notebooks colab.research.google.com albumentation vs. transform 1 epoch을 돌렸을 때 363초와 485초로 생각보다 큰 차이를 보임 transpose 대신 albumentation을 사용하는 것으로 확정! 링크를 참조하여 Learning rate scheduler를 사용해봄 오히려 효과가 좋지 않았음 Gaussianblur와 RandomHorizontalFlip 추가해..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크착용_분류_대회 Imbalanced한 데이터에 적합한 loss인 focal_loss를 이용해서 작업 뛰어난 효과를 보임 crop된 데이터가 원본 데이터의 2배였던 실수가 있어서 제대로 작업한 뒤 원본 test set에 대한 결과와 crop한 test set에 대한 결과 2가지를 도출함 위의 실수 때문에 떠오른 아이디어로써 원본 데이터에 crop된 데이터를 추가해서 focal_loss로 학습시켜봄 → focal_loss와 결합되니 f1_score가 0.02점이나 높아짐 Test 데이터 중 일부 Crop이 되지 않는 데이터가 있었는데 새로운 model로 Crop시키는 방향을 고민 중 Retin..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 이번주는 강의가 따로 주어지지 않고, 대회로만 진행된다. 한동안 점수 상승이 없어서 리더보드가 계속 밀리는 슬픔을 겪었는데 오랜만에 순위를 올려서 뿌듯함을 느낀 날이다. 다른 팀원들도 그렇고 나도 그렇고 참 여러가지를 시도해보더라도 결과가 좋지 않으면 힘이 많이 빠진다. 특히 이론적으로 좋아질거라 생각했던 방향이 그렇지 않을 때는 더더욱 심하다. 하지만 그게 대회 아닐까. 꾸준히 많은 것들을 시도하는 게 대회에선 굉장히 중요하다. 🕵🏻♂️마스크착용_분류_대회 Pretrained된 모델을 내 데이터로 Classifer와 같이 학습시키는 것이 Freeze를 안한 것 그러려면 파라미터가 많아질테니까 데이터가..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크착용 분류 대회 멘토링한 결과를 토대로 여러가지를 변화시켜봄 1. Argparse 사용 argparse를 통해 hyperparameter나 file_path들을 설정해주면서 좀 더 다양한 실험들이 편하게 가능해짐. 일일이 적다보면 헷갈리거나 작업이 꼬일 때가 있었는데 argparse라는 좋은 라이브러리를 알게 되면서 적용이 용이해졌다. 2. Commit 규칙 정하기 하나의 기능을 구현하거나 (앙상블, 테스트 코드 등), 대략 —줄을 작성했을 때 커밋한다라는 규칙을 정하고 습관을 만들면 더 효율적일 것이다 Commit 이름의 말머리를 [기능추가] [오류수정] [테스트코드] [코드정리] 와 같..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크착용 분류 대회 Batch_size를 256까지 키우니까 일반화 성능이 떨어지는 것으로 판단 transforms대신 더 빠른 albumentation을 사용해봄 Image 라이브러리 대신 cv2를 사용하는데, BILINEAR의 경우 INTER_LINEAR로 ToTorch는 있었으나 사라지면서 ToTensorV2를 사용해야 한다고 함 ToTensorV2를 사용하면 tensor형태가 되어 Normalize시에 astype이 적용되지 못한다. 그래서 Normalize를 먼저 시행해줘야 함 augmented = self.transforms(image = img)처럼 image라고 명시해줘야하고, ..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크상태_분류_대회 torchvision.transforms는 100개가 있으면 그 이미지에 적용을 해줘서 200개가 되는 걸까? 그렇지 않다. 그 이미지 자체에 값을 입혀서 변환시키는 것으로 개수는 같다. Resize, ToTensor와 같은 확정적인 것들은 모든 이미지에 입혀지고, HoriaontalFlip(p=0.5) 같은 랜덤으로 적용되는 것은 p의 확률을 기준으로 적용이 되거나 되지 않거나 한다 transforms.Compose([ ToTensor(), Resize((512, 384)), HoriaontalFlip(p=0.5)] # default가 0.5 ) VS code에서는 작업을..
부스트캠프 개발자의 지속 가능한 성장을 위한 학습 커뮤니티 boostcamp.connect.or.kr 🕵🏻♂️마스크상태_분류_대회 1. Data labeling 이미지는 18900장이 주어졌으나, train.csv의 row는 2700개뿐, 심지어 라벨링도 되어있지 않았다. 그래서 주최측이 정한 labeling 기준에 맞춰 train.csv를 18900개의 row와 18 종류의 class 값을 가지는 데이터프레임으로 변경시켜주었다. 우선 여기서 이미지 모델은 input때 train을 대체 어떻게 시켜주나 했는데, 정형 데이터와 비슷하게 DataFrame에서 label을 뽑아내고 그것에 해당하는 이미지를 tensor로 변환해서 넣어준다는 것을 배웠다. 사실 이 과정을 정확히 몰라서 어제는 이 작업을 진행하..