owned this note
owned this note
Published
Linked with GitHub
# 1
p1-img-
//프로젝트 정리1
## 📝 대회 소개
- 대회 제목 : 마스크 착용 상태 분류
- 문제 유형 : muti-classfication
- 평가척도 : F1-Score
## 🎁 데이터 소개 (데이터 비공개)
- 전체 사람 명 수 : 4,500
- 한 사람당 사진의 개수: 7 [마스크 착용 5장, 이상하게 착용(코스크, 턱스크) 1장, 미착용 1장]
- 이미지 크기: (384, 512) 고정
## 📁 File structure
- EDA
-.ipynb
-...
- baseline
- model.py
- loss.py
## 🚀 Baseline code
dataset.py
- 마스크 데이터셋을 읽고 전처리를 진행한 후 데이터를 하나씩 꺼내주는 Dataset 클래스를 구현한 파일입니다.
loss.py
- 이미지 분류에 사용될 수 있는 다양한 Loss 들을 정의한 파일입니다
model.py
- 데이터를 받아 연산을 처리한 후 결과 값을 내는 Model 클래스를 구현하는 파일입니다.
train.py
- 실제로, 마스크 데이터셋을 통해 CNN 모델 학습을 진행하고 완성된 모델을 저장하는 파일입니다.
inference.py
- 학습 완료된 모델을 통해 test set 에 대한 예측 값을 구하고 이를 .csv 형식으로 저장하는 파일입니다.
evaluation.py
- inference.py를 통해 나온 예측 값 파일을 GT 와 비교하여 score 를 산출하는 파일입니다
## :information_desk_person: 사용법
1. 모델의 추론에 필요한 라이브러리를 설치합니다
```pip install -r requirements.txt```
2. inference.py 파일을 이용하여 학습된 모델의 예측값을 산출합니다
파일의 실행 형식은 다음과 같습니다
```SM_CHANNEL_EVAL=[dataset dir] SM_CHANNEL_MODEL=[model saved dir] SM_OUTPUT_DATA_DIR=[inference output dir] python inference.py --model [your model class]```
SM_CHANNEL_EVAL: 평가 데이터셋이 위치하는 폴더
SM_CHANNEL_MODEL: 학습된 모델(best.pth) 가 위치하는 폴더
SM_OUTPUT_DATA_DIR: 모델의 예측값을 csv 파일로 저장하는 폴더
(optional) model: Custom Model 를 통해 학습을 진행하였을 경우, 해당 모델의 이름
위 형식으로 실행하면 SM_OUTPUT_DATA_DIR 폴더에 테스트 셋의 예측값이 submission.csv 이름으로 저장이 됩니다
## 리더보드 점수 표로!
With @areum514 @JaegyeongByun
# 2
p2-tab-
//프로젝트 정리2
## 📝 대회 소개
최근 온라인 거래를 이용하는 고객들이 많이 늘어나고 있어 고객들의 log 데이터가 많이 늘어나고 있습니다. 온라인 거래 고객 log 데이터를 이용하여 고객들의 미래 소비를 예측 분석프로젝트를 진행하려 합니다.
고객들의 월별 총 구매 금액을 확인했을 때 연말에 소비가 많이 이루어지고 있는 것으로 확인이 되었습니다. 그리하여 12월을 대상으로 고객들에게 프로모션을 통해 성공적인 마케팅을 하기 위해 모델을 만들려고 합니다.
온라인 거래 log 데이터는 5914명의 2009년 12월부터 2011년 11월까지의 온라인 상점의 거래 데이터가 주어집니다. 2011년 11월 까지 데이터를 이용하여 2011년 12월의 고객 구매액 300초과 여부를 예측해야 합니다.
사진 넣기
- 대회 제목 : 온라인 상점 고객 구매 예측
- 문제 유형 : 이진 분류
- 평가 척도 : AUC(Area Under Curve)
- 문제 정의 : 5914명의 2009년 12월 ~ 2011년 11월 데이터를 이용하여 각 고객들의 2011년 12월의 총 구매액이 300을 넘을지의 확률값을 예측하는 이진 분류 문제
## 🎁 데이터 소개 (데이터 비공개)
- Unique Customer_id : 5914명
- Customer 당 로그 수 : 1개 ~ 12714개
- 고객에 대한 정보(고객 id / 고객 거주 국가)
- 상품 정보(상품 id / 상품 설명 / 상품 가격)
- 거래 정보(주문 일자 / 상품 수량)
- 데이터 컬럼 설명
```
order_id : 주문 번호. 데이터에서 같은 주문번호는 동일 주문을 나타냄
product_id : 상품 번호
description : 상품 설명
quantity : 상품 주문 수량
order_date : 주문 일자
price : 상품 가격
customer_id : 고객 번호
country : 고객 거주 국가
total : 총 구매액(quantity X price)
```
## 📁 File structure
```
├── EDA
│ ├──.ipynb
│ └──...
└── baseline
├── input
│ ├── sample_submission.csv
│ └── train.csv
├── model
│ └── xgb.pkl
├── output
│ └── submission.csv
├── requirements.txt
└── src
├── evaluation.py
├── inference.py
├── train.py
└── utils.py
```
## 🚀 Baseline code
- inference.py
머신러닝 모델 train 과 inference를 수행하는 python 파일이며 parser 옵션에 따라 적용되는 방법들이 달라짐.
- features.py
레이블 생성 함수와 데이터 전처리, 피처 엔지니어링 코드가 구현된 파일
- utils.py
전체 코드에서 사용하는 utility 함수가 구현된 파일
- seed_everything : 시드 고정 함수
- print_score : 평가 지표 출력 함수
- evaluation.py
- inference.py를 통해 나온 예측 값 파일을 GT 와 비교하여 score 를 산출하는 파일
## :information_desk_person: 사용법
1. 필요한 library들을 설치
`pip install -r requirements.txt`
2. 디렉토리 변경
`cd src`
3. train and inference
- Baseline 모델 1 실행 스크립트 :`python inference.py baseline1`
- 머신러닝 모델 없이 이전 월 고객 구매액 기준으로 예측
- Baseline 모델 2 실행 스크립트 :`python inference.py baseline2`
- LightGBM Baseline 모델
- Baseline 모델 3 실행 스크립트 :`python inference.py baseline3`
- LightGBM Cross Validation Baseline 모델
세 가지 Baseline 모델이 구현되어 있고 모델 Training & Inference를 진행해서 테스트 결과 파일을 생성합니다.
## 리더보드 점수 표로!
# 3-1
p3-seg-
//프로젝트 정리3-1
## 📝 대회 소개
- 대회 제목 :
- 문제 유형 :
- 평가 척도 :
## 🎁 데이터 소개 (데이터 비공개)
- 전체 이미지 개수 : 4109장
- 이미지 크기 : (512, 512)
- 총 11개 클래스 : UNKNOWN, General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
## 📁 File structure
- EDA
-.ipynb
-...
- baseline
- model.py
- loss.py
## 🚀 Baseline code
## :information_desk_person: 사용법
## 리더보드 점수 표로!
---
# 3-2
p3-det-
//프로젝트 정리3-2
## 📝 대회 소개
- 대회 제목 :
- 문제 유형 :
- 평가척도 :
## 🎁 데이터 소개
우리는 수많은 쓰레기를 배출하면서 지구의 환경파괴, 야생동물의 생계 위협 등 여러 문제를 겪고 있습니다. 이러한 문제는 쓰레기를 줍는 드론, 쓰레기 배출 방지 비디오 감시, 인간의 쓰레기 분류를 돕는 AR 기술과 같은 여러 기술을 통해서 조금이나마 개선이 가능합니다.
제공되는 이 데이터셋은 위의 기술을 뒷받침하는 쓰레기를 판별하는 모델을 학습할 수 있게 해줍니다.
**image file**
- 전체 이미지 개수 : 4109장
- 11 class : UNKNOWN, General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing
- 이미지 크기 : (512, 512)
**annotation file**
annotation file은 coco format 으로 이루어져 있습니다.
coco format은 크게 2가지 (images, annotations)의 정보를 가지고 있습니다.
- images:
- id: 파일 안에서 image 고유 id, ex) 1
- height: 512
- width: 512
- filename: ex) batch01_vt/002.jpg
- annotations: (참고 : detection 대회에서는 아래의 모든 정보를 활용 가능합니다.)
- id: 파일 안에 annotation 고유 id, ex) 1
- segmentation: masking 되어 있는 고유의 좌표
- bbox: 객체가 존재하는 박스의 좌표 (xmin, ymin, w, h)
- area: 객체가 존재하는 영역의 크기
- category_id: 객체가 해당하는 class의 id
- image_id: annotation이 표시된 이미지 고유 id
```
data
├── batch_01_vt
│ ├──데이터셋 (이미지)
│ ├──...
│ └──
├── batch_02_vt
│ ├──데이터셋 (이미지)
│ ├──...
│ └──
├── batch_03
│ ├──데이터셋 (이미지)
│ ├──...
│ └──
├── train_all.json
├── train.json
├── val.json
└── test.json
```
## 🚀 Baseline code
[mmdetection](https://github.com/open-mmlab/mmdetection)
## :information_desk_person: 사용법
## Install
1. `conda install pytorch=1.6.0 cudatoolkit=10.1 torchvision -c pytorch`
2. `pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html`
3. `pip install -r requirements.txt`
4. `pip install -v -e .`
## python
### train
`python tools/train.py configs/trash/faster_rcnn/faster_rcnn_r50_fpn_1x_trash.py`
### inference
`python tools/test.py configs/trash/faster_rcnn/faster_rcnn_r50_fpn_1x_trash.py work_dirs/faster_rcnn_r50_fpn_1x_trash/epoch_12.pth --out work_dirs/faster_rcnn_r50_fpn_1x_trash/epoch_12.pkl`
### make submission
`python pkl_to_submission.py --pkl work_dirs/faster_rcnn_r50_fpn_1x_trash/epoch_12.pkl --csv submission.csv`
### submission file
`mmdetection_trash > submission.csv`
## 리더보드 점수 표로!
---
//프로젝트 정리 4
## 📝 대회 소개
- 대회 제목 : “초”경량 이미지 분류기
- 문제 유형 : muti-classfication and lightweight
- 평가척도 : F1-Score + MACs: 모델의 (덧셈 + 곱셈)의 계산 수
모델의 f1 score가 0.5이상 후에 f1 score의 비중을 줄여 MACs를 통해 좋은 점수를 받을 수 있도록 score를 설계
사진 추가
## 🎁 데이터 소개 (데이터 비공개)
COCO format의 재활용 쓰레기 데이터인 TACO 데이터셋의 Bounding box를 crop 한 데이터
- 총 이미지 : 32,599
- 카테고리 수 : 9개( Battery, Clothing , Glass, Metal, Paper, Paperpack, Plastic, Plasticbag, Styrofoam)
- 이미지당 크기: 고정 되어 있지 않음
- 한 카테고리당 사진의 개수: 그림 첨부 밑에
## 📁 File structure
- https://github.com/bcaitech1/p4-opt-5-vibrhanium-/blob/master/documents/baseline_analysis/README.md # 기존
- https://github.com/bcaite/p4-opt-5-vibrhanium-/tree/master/baseline/README.md # 우리꺼
## 리더보드 점수 표로!
---
0 ~ 1
sigmod = 1/1+exp(-x)
미분 = y(1-y)
relu =
강아지 고양이 새 여우
강아지 1 0 0 0
0.1 0.4 0.1 0.4
미분 x y의 변화률
cnn -> bat -> sig -> cnn -> bat -> sig
0 0
0 x x 0.3
chain rlue