Skip to content
์ฝ”๋”ฉํ•˜๋Š”ํŽญ๊ท„ edited this page Jul 1, 2021 · 3 revisions

๐Ÿ“ Table of Contents


๐Ÿ“– ๋Œ€ํšŒ ๊ฐœ์š”

๋ฐฐ๊ฒฝ

  • ๋Œ€๋Ÿ‰์œผ๋กœ ๋ฌผ๊ฑด์ด ๋งŒ๋“ค์–ด์ง€๊ณ  ์†Œ๋น„๋ฅผ ํ•˜๋ฉด์„œ ์‹ฌ๊ฐํ•œ ์“ฐ๋ ˆ๊ธฐ ๋ฌธ์ œ๋ฅผ ๋‚ณ๊ณ  ์žˆ๋‹ค.
  • ์“ฐ๋ ˆ๊ธฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด "๋ถ„๋ฆฌ ์ˆ˜๊ฑฐ"๋ฅผ ํ†ตํ•ด ์ž˜ ๋ถ„๋ฆฌ ๋ฐฐ์ถœ๋œ ์“ฐ๋ ˆ๊ธฐ๋Š” ์ž์›์œผ๋กœ์„œ ๊ฐ€์น˜๋ฅผ ์ธ์ • ๋ฐ›์•„ ์žฌํ™œ์šฉ๋œ๋‹ค.
  • ๊ทธ๋งŒํผ "๋ถ„๋ฆฌ ์ˆ˜๊ฑฐ"๊ฐ€ ์ค‘์š”ํ•˜์ง€๋งŒ, "์ด ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์–ด๋””์— ์†ํ•˜๋Š”์ง€", "์–ด๋–ค ๊ฒƒ๋“ค์„ ๋ถ„๋ฆฌํ•ด์„œ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด ๋งž๋Š”์ง€" ๋“ฑ ์ •ํ™•ํ•œ ๋ถ„๋ฆฌ์ˆ˜๊ฑฐ ๋ฐฉ๋ฒ•์„ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.
  • ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์ฐํžŒ ์‚ฌ์ง„์„ ๊ฐ€์ง€๊ณ  Segmentation์„ ์ง„ํ–‰ํ•ด ์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฌธ์ œ ์ •์˜

์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์ฐํžŒ ์‚ฌ์ง„์˜ ํ”ฝ์…€์„ ๋ฐฐ๊ฒฝ์„ ํฌํ•จํ•œ 12๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” Segmentation ๋ชจ๋ธ

  • input:ย ย ์“ฐ๋ ˆ๊ธฐ ์ด๋ฏธ์ง€ (512, 512) ์ด 4109์žฅ๊ณผ COCO Format์œผ๋กœ ์ด๋ฃจ์–ด์ง„ Annotation ํŒŒ์ผ
โ”œโ”€ images
โ”‚  โ”œโ”€ id: ํŒŒ์ผ ์•ˆ์—์„œ image ๊ณ ์œ  id, ex) 1
โ”‚  โ”œโ”€ height: 512
โ”‚  โ”œโ”€ width: 512
โ”‚  โ””โ”€ filename: ex) batch01_vt/002.jpg
โ”‚
โ””โ”€ annotations
   โ”œโ”€ id: ํŒŒ์ผ ์•ˆ์— annotation ๊ณ ์œ  id, ex) 1
   โ”œโ”€ segmentation: masking ๋˜์–ด ์žˆ๋Š” ๊ณ ์œ ์˜ ์ขŒํ‘œ
   โ”œโ”€ bbox: ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฐ•์Šค์˜ ์ขŒํ‘œ (xmin, ymin, w, h)
   โ”œโ”€ area: ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ์˜์—ญ์˜ ํฌ๊ธฐ
   โ”œโ”€ category_id: ๊ฐ์ฒด๊ฐ€ ํ•ด๋‹นํ•˜๋Š” class์˜ id
   โ””โ”€ image_id: annotation์ด ํ‘œ์‹œ๋œ ์ด๋ฏธ์ง€ ๊ณ ์œ  id
  • output: 12๊ฐœ์˜ ํด๋ž˜์Šค
    • Background, UNKNOWN, General trash, Paper, Paper pack, Metal, Glass, Plastic, Styrofoam, Plastic bag, Battery, Clothing

ํ‰๊ฐ€ ์ง€ํ‘œ: mIoU


๐Ÿ† ๋Œ€ํšŒ ๊ฒฐ๊ณผ

  • ์ˆœ์œ„ 62๋“ฑ, mIoUC 0.6472
  • ์ œ์ถœํšŸ์ˆ˜ ์ด 22ํšŒ (ํŒ€ 138ํšŒ)

๐Ÿš€ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

ํŒ€์˜ ๋Œ€ํšŒ ์ฐธ์—ฌ ๊ณผ์ •์„ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋‚ด๊ฐ€ ํŒ€์— ์–ด๋–ค ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋Š”์ง€ ์œ„์ฃผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜‘์—… ๋ฐฉ์‹

2021.04.26

์ฒซ ๋‚  ์„œ๋ฒ„๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•œ ํŒ€์›๋“ค๋„ ์žˆ์—ˆ๊ธฐ์— ์ด ๋‚ ์€ ์‰ฌ๊ณ  ํŒ€ ํ˜‘์—…์„ ์–ด๋–ป๊ฒŒ ํ• ์ง€๋ฅผ ์ •ํ–ˆ๋‹ค. ๊ทธ๋ผ์šด๋“œ๋ฃฐ, ์‹คํ—˜๊ด€๋ฆฌ ๋“ฑ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ Pull Request์™€ Code Review ๋„์ž…์„ ์ ๊ทน์ ์œผ๋กœ ๊ฑด์˜ํ•˜์˜€๋‹ค. ์•„์ง GitHub์™€ Git์— ์ต์ˆ™ํ•˜์ง€ ๋ชปํ•œ ํŒ€์›๋“ค๋„ ์žˆ์—ˆ๊ธฐ์— ๊ณต์ง€์— Pull Request ๋ณด๋‚ด๋Š” ๋ฒ•์„ ์ž‘์„ฑํ•˜์˜€๋‹ค.

ํ”ผ์–ด์„ธ์…˜๋‚˜ ์งˆ๋ฌธ์€ GitHub Discussion์—, ์ฝ”๋“œ ๊ด€๋ จ์€ Issue์™€ Pull Request๋ฅผ ํ†ตํ•ด, ์‹คํ—˜ ๊ด€๋ฆฌ๋Š” Google Spreadsheet, ์‹ค์‹œ๊ฐ„ ๊ธฐ๋ก์šฉ์œผ๋กœ Google Docs๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ์ •ํ•˜์˜€๋‹ค.

google spread sheet experiments

๋ฒ ์ด์Šค์ฝ”๋“œ ๊ฐœ์„ 

2021.04.27 - 2021.04.30

๋Œ€ํšŒ์—์„œ ๋ฒ ์ด์Šค์ฝ”๋“œ๋Š” ๋”ฐ๋กœ ์ฃผ์–ด์ง€์ง€ ์•Š์•˜์ง€๋งŒ ์กฐ์„ฑ์ง„ ์บ ํผ๋‹˜์ด ๋ฏธ๋ฆฌ py๋ชจ๋“ˆ๋กœ ๋‚˜๋ˆ ๋†“์œผ์…”์„œ ๊ทธ๊ฒƒ์„ ๋ฒ ์ด์Šค์ฝ”๋“œ๋กœ ํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜์˜€๋‹ค. Pull Request๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, augmentation์„ ์ œ์™ธํ•˜๊ณ  ์ธ์ž๋กœ ๋ฐ›์•„ ๋ช…๋ น์–ด๋กœ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

  • smp ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ž ์ž…๋ ฅ์œผ๋กœ backbone๊ณผ method๋ฅผ ๋ ˆ๊ณ ์ฒ˜๋Ÿผ ์ž์œ ๋กญ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ–ˆ๋‹ค.
  • AdamP, Adam, SGD, MadGrad ๋“ฑ ๋‹ค์–‘ํ•œ optimizer์™€ CrossEntropyLoss, FocalLoss, LabelSmoothing, F1Score, DiceLoss ๋“ฑ ๋‹ค์–‘ํ•œ loss ์ถ”๊ฐ€ํ–ˆ๋‹ค.
  • wandb ์—ฐ๊ฒฐ ๋ฐ env ํŒŒ์ผ๋กœ ๊ฐœ๋ณ„ ์„ธํŒ…์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€์œผ๋ฉฐ, wandb์— config, loss, mIoU ๋ฐ ์ถ”๋ก ๋œ ์ด๋ฏธ์ง€๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋„๋ก ํ•˜์—ฌ wandb์—์„œ ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.
  • LB mIoU๊ฐ€ inference์‹œ์— ์‚ฌ์šฉํ•˜๋Š” mIoU ๊ณ„์‚ฐ๋ฐฉ๋ฒ•๊ณผ ๋‹ค๋ฅด๋‹ค๋Š” ํ† ์˜ ๊ฒŒ์‹œ๊ธ€์„ ๋ณด๊ณ  ์ „์ฒด ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ mIoU๋ฅผ ํ‰๊ท ๋‚ด๋Š” LB mIoU๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€ํ–ˆ๋‹ค.
  • K-fold์™€ Stratified K-fold ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ต์ฐจ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ๋‹ค. K-fold์˜ ๊ฒฝ์šฐ ๋ช‡ ๊ฐœ์˜ ํด๋“œ๋กœ ๊ฒ€์ฆ์„ ํ• ์ง€ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธ์ž๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.
  • checkpoint๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๊ณ  ๋ช‡ interval ๋งˆ๋‹ค ์ €์žฅํ•  ๊ฑด์ง€์— ๋Œ€ํ•œ ์ธ์ž๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž์— ๋”ฐ๋ผ ๋ช‡ step๋งˆ๋‹ค log๊ฐ€ ์ฐํžˆ๋„๋ก ํ• ์ง€์— ๋Œ€ํ•œ ์ธ์ž๋„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.
  • augmentation์„ ๊ณตํ†ต์œผ๋กœ ์ ์šฉํ•  ๊ฒƒ, ํ•™์Šต ์‹œ์— ์ ์šฉํ•  ๊ฒƒ, ์ถ”๋ก  ์‹œ์— ์ ์šฉํ•  ๊ฒƒ 3๊ฐ€์ง€๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฆฌ์ŠคํŠธ์— ๋‹ค์–‘ํ•œ augmentation์„ ๋„ฃ๋‹ค ๋บ๋‹ค ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

๋ชจ๋ธ ์‹คํ—˜

2021.04.27 - 2021.04.30

์ฒ˜์Œ์—๋Š” ๊ฐ•์˜์— ์–ธ๊ธ‰๋œ ๋ชจ๋ธ๋“ค์„ ์ค‘์‹ฌ์œผ๋กœ DeconvNet, SegNet, DilatedNet, Deeplab v1, Deeplab v2, Deeplab V3์— ๋Œ€ํ•œ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ๋‹ค. optimizer, loss๋Š” ๋”ฐ๋กœ ์ •ํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ๊ธฐ๋ณธ ์„ธํŒ…์œผ๋กœ ๋Œ๋ ค๋ณด๊ณ  ์‹œ๊ฐ„์ด ์žˆ๋‹ค๋ฉด ๋‹ค๋ฅธ ์„ธํŒ…์œผ๋กœ ์‹คํ—˜์„ ํ•˜๋„๋ก ํ•˜์˜€๋‹ค. ๋‚˜๋Š” Deeplab v3 ์‹คํ—˜์„ ๋งก์•˜์œผ๋ฉฐ, LB mIoU 0.53์œผ๋กœ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. ์ถ”๊ฐ€๋กœ ์‹œ๊ฐ„์ด ๋‚จ์•„ ์ €๋ฒˆ ๋Œ€ํšŒ์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€ MadGrad๋ฅผ ์จ์„œ ํ•™์Šต์„ ์‹œ์ผœ๋ณด์•˜๊ณ  Adam๋ณด๋‹ค๋Š” ์ฒด๊ฐ์ƒ ๋” ๋น ๋ฅธ ํ•™์Šต ์†๋„๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.

SOTA good models

2021๋…„ 5์›” 3์ผ ๊ธฐ์ค€ ์‹คํ—˜ ๋…ธํŠธ์—์„œ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€ Deeplab v3+์™€ efficientnet์„ ๋ฒ ์ด์Šค๋ชจ๋ธ๋กœ ์„ ์ •ํ•˜์˜€๋‹ค.

Augmentation ๊ธฐ๋ฒ•

2021.05.03 - 2021.05.06

  • ์—ฌ๋Ÿฌ augmenation ๊ธฐ๋ฒ•์„ ์ ์šฉํ–ˆ์œผ๋‚˜ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ƒˆ์„ ๋•Œ๋Š” ์ ๋‹น๋Ÿ‰์˜ augmentation์„ ์ ์šฉํ–ˆ์„ ๋•Œ์˜€๋‹ค. Resize, RandomResizedCrop, Normalize๋งŒ ์ ์šฉํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. CLAHE๋‚˜ Noise, Distortion ๊ฐ™์€ Augmentation์€ ๊ฐ์ฒด์˜ ์žฌ์งˆ์ด๋‚˜ ํ˜•ํƒœ๋ฅผ ์ฐŒ๊ทธ๋Ÿฌ๋œจ๋ฆฌ๋Š”๋ฐ ์•„๋ฌด๋ž˜๋„ ๋ชจ๋ธ์ด ์žฌ์งˆ์ด๋‚˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐ์ฒด๋ฅผ ํŒŒ์•…ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ์„ฑ๋Šฅ์ด ์ข‹์ง€๋Š” ์•Š์•˜๋‹ค.
  • ์ตœ์žฌํ˜ ์บ ํผ๋‹˜์ด Cutmix์™€ CopyAndPaste๋ฅผ ๊ตฌํ˜„ํ•˜์…จ๊ณ  CopyAndPaste ์ ์šฉ ์‹œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์˜€๋‹ค. ์•„๋ฌด๋ž˜๋„ ํด๋ž˜์Šค ๋ถˆ๊ท ํ˜•์œผ๋กœ ์ธํ•ด์„œ ์ ์€ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ž˜ ์˜ˆ์ธก์„ ๋ชปํ–ˆ๋Š”๋ฐ ์ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ถˆ๊ท ํ˜•์„ ์–ด๋Š ์ •๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ ์™ธ

2021.05.03 - 2021.05.06

  • ๋ฒ ์ด์Šค ๋ชจ๋ธ์ด ์ •ํ•ด์ง€๊ณ  ๋‚˜์„œ๋Š” ๋ฒ ์ด์Šค ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์ตœ๋Œ€ํ•œ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๊ฐœ์ธ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๊ฐ์ž ์‹คํ—˜ ๋…ธํŠธ์— ์‹คํ—˜ ๊ณ„ํš์„ ๊ฐ„๋‹จํžˆ ์จ๋†“๊ณ  ๋‹ค์Œ ๋‚  ํ”ผ์–ด์„ธ์…˜ ๋•Œ ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์ข‹์•˜๋Š”์ง€์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๋‚˜๋ˆ„์—ˆ๋‹ค.
  • ์ €๋ฒˆ stage ๋•Œ efficientnet์˜ ์„ฑ๋Šฅ์ด ์ •๋ง ์ž˜ ๋‚˜์™€์„œ ๋Œ€ํšŒ ๋๋‚˜๊ธฐ ํ•˜๋ฃจ ์ „๊นŒ์ง€ efficientnet์—๋งŒ ์ง‘์ค‘์„ ํ–ˆ์—ˆ๋Š”๋ฐ, ํ•œ ํŒ€์›์ด resnext101_32x4d ์‹คํ—˜์„ ํ–ˆ๊ณ  efficientnet๋ณด๋‹ค๋Š” ๋น ๋ฅด๊ณ  ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. ๋Œ€ํšŒ ํ•˜๋ฃจ ์ „ efficientnet์—์„œ resnext101_32x4d๋กœ ๋ฒ ์ด์Šค๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค.
  • ๊ธฐ์กด ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜จ ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  cutmix, gaussian, randomcropresize ๋“ฑ์˜ ๋‹ค๋ฅธ augmentation์„ ์ ์šฉํ•œ ๋ฐ์ดํ„ฐ์…‹์— ์žฌํ•™์Šต์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์‹คํ—˜ํ–ˆ๋‹ค. ์กฐ๊ธˆ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•™์Šตํ•œ ํ„ฐ๋ผ ์กฐ๊ธˆ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์žˆ์—ˆ๋‹ค.
  • ์ˆ˜๋‹ฌ๋‹˜์ด ์˜ฌ๋ ค์ฃผ์‹  stratified k-fold๋ฅผ ์ ์šฉํ•ด ๊ฐ ํด๋“œ๋ณ„๋กœ ํด๋ž˜์Šค ๋ถ„ํฌ๊ฐ€ ์ผ์ •ํ•˜๋„๋ก ํ•˜์˜€๊ณ  ์•ˆํ˜„์ง„ ์บ ํผ๋‹˜์˜ Pseudo Labeling์„ ์ ์šฉํ•˜์—ฌ ์ตœ๋Œ€ mIoU 0.6563์œผ๋กœ ์ตœ๋Œ€ ์„ฑ๋Šฅ์„ ๋Œ์–ด๋ƒˆ๋‹ค.
  • ensemble์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋Œ€ํšŒ ๋งˆ์ง€๋ง‰๋‚  ๋‘ ์‹œ๊ฐ„๋™์•ˆ ๊ธ‰ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งฐ์ง€๋งŒ ๊ฒฐ๊ตญ ์‹คํŒจํ•˜์—ฌ ์•™์ƒ๋ธ”์€ ์ ์šฉํ•˜์ง€ ๋ชปํ•˜์˜€๊ณ  ์‹ฑ๊ธ€ ๋ชจ๋ธ๋กœ ์ตœ๋Œ€ ์„ฑ๋Šฅ์ด ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ์ตœ์ข… ์ œ์ถœํ–ˆ๋‹ค.

๐Ÿ‘€ ํšŒ๊ณ 

์ข‹์•˜๋˜ ์ 

  • Pull Request์™€ Review๋ฅผ ํ†ตํ•œ ํ˜‘์—…์ด ์ƒ๊ฐ ์ด์ƒ์œผ๋กœ ์ž˜ ๋˜์–ด์„œ ์ข‹์•˜๋‹ค. Pull Request๋ฅผ ์Šน์ธ/๊ฑฐ์ ˆํ•  ์‹œ ์นญ์ฐฌ ํ˜น์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฌด์กฐ๊ฑด ํ•ด์„œ ์ข‹์€ ํ”ผ๋“œ๋ฐฑ์€ ๋ฐ˜์˜ํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ์‹œ์ผœ ๋‚˜๊ฐ”๋‹ค.
  • ๊ณตํ†ต ๋ฒ ์ด์Šค ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ณต์œ ํ•œ ๊ฒƒ๋„ ์ข‹์•˜๋‹ค. ์กฐ์„ฑ์ง„ ์บ ํผ๋‹˜ ๋•๋ถ„์— ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ผ์ฃผ์ผ ๋™์•ˆ ๋ฒ ์ด์Šค์ฝ”๋“œ๋ฅผ ์™„์„ฑ์‹œํ‚จ ์ดํ›„ ์ฝ”๋“œ๋ฅผ ๊ณ ์น  ์ผ์€ ๊ฑฐ์˜ ์—†์—ˆ๊ณ  ๋ชจ๋ธ์„ ๋ฐ”๊พธ๋ฉฐ ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  • wandb๋ฅผ ์จ์„œ ์‹œ๊ฐํ™” ๋ฐ ๋กœ๊น…์„ ํ•ด์„œ ์ข‹์•˜๋‹ค. ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ์— ๊ธฐ๋ก์„ ํ•˜์—ฌ๋„ ๊ณผ์ •์ด ์—†์œผ๋‹ˆ ๊ฒฐ๊ณผ๋ฐ–์— ๋ฏฟ์„ ์ˆ˜ ์—†์—ˆ๋Š”๋ฐ, wandb์— ๊ธฐ๋ก๋œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด์„œ ์–ด๋–ค ๋ชจ๋ธ์„ ์ตœ์ข… ๋ชจ๋ธ๋กœ ์“ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ ํฐ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋‹ค. ํŠนํžˆ ์‹œ๊ฐํ™”์˜ ๊ฒฝ์šฐ ๋ชจ๋ธ์ด ๋ฌด์—‡์„ ํ—ท๊ฐˆ๋ฆฌ๋Š”์ง€๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์•„์‰ฌ์› ๋˜ ์ 

Team

  • ๊ฐœ์ธ์ ์ธ ์‹คํ—˜์„ ์–ด๋””์„œ ํ•ด์•ผํ• ์ง€ ํ—ท๊ฐˆ๋ ธ์—ˆ๋‹ค. ๋กœ์ปฌ์—์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ๋Œ€๋กœ ๋Œ๋ฆด ๋•Œ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ๋ชฐ๋ผ์„œ ์–ด๋–ค ์‚ฌ๋žŒ์€ sohyun/experiment์—์„œ ์ž‘์—…ํ•˜๊ณ , ์–ด๋–ค ์‚ฌ๋žŒ์€ sohyun ์ด๋ ‡๊ฒŒ ๋”ฐ์„œ code์—์„œ ์ž‘์—…ํ•ด์„œ ์ผ๊ด€์„ฑ์ด ์—†์—ˆ๋‹ค.
  • Pull Request์‹œ ์Šน์ธ ์ตœ์†Œ ์ธ์›์„ 5๋ช…์œผ๋กœ ๋‘์—ˆ๋Š”๋ฐ, ๋ชจ๋‘ ์ฝ”๋“œ๋ฅผ ํ•œ๋ฒˆ ์”ฉ ํ™•์ธ ํ•œ๋‹ค๋Š” ์ ์—์„œ๋Š” ์ข‹์•˜์ง€๋งŒ ์Šน์ธ๋˜๊ธฐ๊นŒ์ง€ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ค์„œ master ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜๋˜๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค.
  • ์‹คํ—˜๊ฒฐ๊ณผ๋Š” ์ž˜ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋Š”๋ฐ, ์‹คํ—˜๊ณ„ํš์€ ์ž˜ ์„ธ์›Œ์ง€์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ์ค‘๋ณต ์‹คํ—˜์„ ํ•œ ๊ฒฝ์šฐ๋„ ์ข…์ข… ๋ฐœ์ƒํ–ˆ๊ณ  ๋‹ค์‹œ ๋Œ์•„๋ณด๋ฉด ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

Personal

  • ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฐ ์ฃผ์ €ํ•จ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ Pull Request์— ๊ธฐ์—ฌ๋ฅผ ๋งŽ์ด ํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ด ์•„์‰ฌ์› ๋‹ค. ์•ฝ๊ฐ„ ์ฝ”๋“œ๋ฅผ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ๋Š”๋ฐ ์ž˜๋ชป ๊ธฐ์—ฌํ–ˆ๋‹ค๊ฐ€ ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ฅผ ๋ณด๋‚ด๋ฉด ์–ด์ฉŒ์ง€ ํ•˜๋Š” ๋‘๋ ค์›€์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

๋‹ค์Œ์— ์‹œ๋„ํ•ด๋ณผ ๊ฒƒ

Team

  • ์•ž์„œ segmentation์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ sohyun/experiment๋กœ ๋”ฐ๋กœ ํด๋”๋ฅผ ํŒŒ์„œ ๋ธŒ๋žœ์น˜๋„ ๋”ฐ๋กœ ํŒŒ๊ณ  ํ•ด์„œ ํ•˜๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ๊ฐœ์ธ ๋ธŒ๋žœ์น˜์—์„œ merge๋Š” ํ•˜์ง€ ์•Š๋˜ ๊ณ„์† ์‹คํ—˜ํ•˜๋Š” ์‹์œผ๋กœ ํ•˜๋“  ๋‘˜ ์ค‘ ํ•˜๋‚˜ ์ •ํ•˜๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • Pull Request๋Š” ๋‹ค์ˆ˜๊ฒฐ๋กœ 3๋ช… ์ •๋„ ์Šน์ธํ•˜๋ฉด ๋จธ์ง€ํ•˜๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. 5๋ช…์€ ๋„ˆ๋ฌด ๋งŽ๊ณ  3๋ช…์ด Approve ํ–ˆ์œผ๋ฉด "์ตœ์†Œ 3๋ช…์ด ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ–ˆ๋‹ค"๋Š” ๋œป์ด๋‹ˆ 3๋ช… ์ •๋„๊ฐ€ ์ ๋‹นํ•  ๊ฒƒ ๊ฐ™๋‹ค.
  • ์‹คํ—˜๊ณ„ํš์€ ๋…ธ์…˜์„ ํŒŒ์„œ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•ด๋ณด์ž. ์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ๋ฅผ ์“ฐ๋˜ ์‹คํ—˜๊ณ„ํš์€ ๋…ธ์…˜์— ๋ฏธ๋ฆฌ ์–ด๋–ค ์‹คํ—˜์„ ํ•  ๊ฑด์ง€ ์จ๋‘์–ด ์‹คํ—˜์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

Personal

  • ์ฝ”๋“œ์™€ ์‹คํ—˜์— ์ฃผ์ €ํ•จ์„ ๊ฐ–์ง€ ๋ง๊ณ  ๊ดœ์ฐฎ๋‹ค๋ฉด Pull Request๋ฅผ ๋ณด๋‚ด๋ณด์ž. ์ •๋ง ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ผ๋ฉด ํŒ€์›์ด ๋ฆฌ๋ทฐํ•˜๋ฉด์„œ ํ”ผ๋“œ๋ฐฑ์„ ๋ณด๋‚ด์ค„ ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ ๋ฒ ์ด์Šค์ฝ”๋“œ๋ฅผ ๋ฐ›๋Š” ๋‚ ์€ ๋ฌด์กฐ๊ฑด ์ฝ”๋“œ ํŒŒ์•…๋ถ€ํ„ฐ ํ•ด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜์ž!