Retrospectives Badge

๐Ÿš€ Add ultralytics #95 Open boyamie wants to merge 7 commits into main from feature-72/yolov11
Open ๐Ÿš€ Add ultralytics #95 boyamie wants to merge 7 commits into main from feature-72/yolov11 +476 โˆ’0 Conversation 17 Commits 7 Checks 0 Files changed 8 Conversation boyamie boyamie commented yesterday Overview convert.py: COCO -> YOLO ํ˜•์‹ ๋ณ€ํ™˜ split.py: ๋ฐ์ดํ„ฐ ๋ถ„ํ•  (train/val) train.py: YOLO ๋ชจ๋ธ ํ•™์Šต inference.py: ์ถ”๋ก  ๋ฐ CSV ๋ณ€ํ™˜ streamlit.py: ์ถ”๋ก  ๊ฒฐ๊ณผ ์‹œ๊ฐํ™” train.py๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด convert์™€ split์˜ ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Change Log W&B๋ฅผ ํ™œ์šฉํ•œ mAP50 ์‹œ๊ฐํ™” ๋„์ž… Streamlit์„ ํ†ตํ•œ EDA ๋„์ž… To Reviewer ๋‹ค ๊ฐˆ์•„์—Ž์—ˆ์Šต๋‹ˆ๋‹ค Issue Tags Closed | Fixed: [BUG] Ultralytics W&B mAP50 #94 See also: [BUG] Ultralytics W&B mAP50 #94 boyamie added 3 commits 2 days ago @boyamie โœจ Add ultralytics 6e19ff0 @boyamie ๐Ÿš€ Refactor eb340f2 @boyamie ๐Ÿšฉ Only train project cbc63ec @boyamie boyamie added โœจ Model ๐Ÿ”จ Refactor Priority: High โš™ Setting(Utils) โšก EDA labels yesterday @boyamie boyamie requested a review from Haneol-Kijm yesterday @boyamie boyamie self-assigned this yesterday boyamie added 2 commits yesterday @boyamie ๐Ÿ“ Split by ori_haneolcode e536bc8 @boyamie ๐Ÿ“„ Add elegant 17f907d Haneol-Kijm Haneol-Kijm requested changes yesterday Haneol-Kijm left a comment ์ข…ํ•ฉ์ ์œผ๋กœ ์‚ฌ์†Œํ•œ ๋ถ€๋ถ„์„ ์ œ์™ธํ•˜๋ฉด ๊น”๋”ํ•œ ์ฝ”๋“œ๊ธด ํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜๋Š” ๋ฐ”๋กœ ๋ณ‘ํ•ฉ์‹œ์ผœ๋“œ๋ฆฌ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ์š”, 0.1์”ฉ ์‚ฌ์†Œํ•œ ๋ถ€๋ถ„์„ ๋ชจ์•„๋†“๊ณ  ๋ณด๋‹ˆ๊นŒ 1์ด๋ผ๋Š” ๊ฐ’์ด ๋˜์–ด์„œ ๋ณ‘ํ•ฉ ์ปคํŠธ๋ผ์ธ์„ ๋ชป ๋„˜๋Š” ๋А๋‚Œ์ž…๋‹ˆ๋‹ค. ์ข€ ๋„ˆ๋ฌด ์‚ฌ์†Œํ•œ ๋ถ€๋ถ„๋“ค์„ ์ง€์ ํ•ด์„œ ์ฃ„์†กํ•˜์ง€๋งŒ ๋ณดํ˜„๋‹˜๊ป˜ ๋„์›€์ด ๋  ๋งŒํ•œ ๋ถ€๋ถ„๋“ค์ด ์žˆ์œผ๋‹ˆ ํ•œ ๋ฒˆ ์ฒดํฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

yolov11/augmentation.py yolov11/cfg/data.yaml @Haneol-Kijm Haneol-Kijm yesterday ํด๋ž˜์Šค๊ฐ€ ์•„๊นŒ ์ œ๋Œ€๋กœ ํ‘œ๊ธฐ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ์š”, ์‹คํ—˜ ๋Œ๋ฆฌ๊ฒŒ ๋˜๋ฉด ์ฒดํฌํ•ด๋ณด๋ฉด ์ข‹๊ฒ ๋„ค์š”.

@boyamie Replyโ€ฆ yolov11/convert.py @Haneol-Kijm Haneol-Kijm yesterday ์ฝ”๋“œ ์ž์ฒด๋Š” ๊น”๋”ํ•˜๊ณ  ์ข‹์€๋ฐ์š”, ์›๋ณธ train.json๊ณผ์˜ ํ˜ผ๋™์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์ข… ์ €์žฅ๋˜๋Š” ํŒŒ์ผ๋ช…์„ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ํ•˜๋ฉด ์ข‹๊ฒ ๋„ค์š”. train3.json ์ด๊ฑด ์ œ๊ฐ€ ๋Œ€์ถฉ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ์ธ๋ฐ ์ข€ ๋„ˆ๋ฌด ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ์ง€์—ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค๊ตฌ์š”, train_aug๋ผ๋˜๊ฐ€ train_modified๋ผ๋˜๊ฐ€ ์ฑ—์ง€ํ”ผํ‹ฐ ์ถ”์ฒœ์„ ๋ฐ›์•„๋‘๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์—ญ์‹œ ํ•„์ˆ˜์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์•„๋‹™๋‹ˆ๋‹ค.

Author @boyamie boyamie 20 hours ago

์ตœ์ข… ๋ณ€ํ™˜๋œ json ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ

train_aug_json_path = โ€œ/data/ephemeral/home/dataset/train_aug.jsonโ€

๋ณ€ํ™˜ ์‹คํ–‰

convert_yolo(train_json_path, train_label_output_dir)

๋ณ€ํ™˜๋œ ํŒŒ์ผ์€ train_aug.json ๋˜๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ

print(fโ€YOLO ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜๋œ ๋ผ๋ฒจ์ด {train_label_output_dir}์— ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜๋œ JSON ํŒŒ์ผ์€ {train_aug_json_path}์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.โ€) ์ข‹์€ ์˜๊ฒฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์ถ”๊ฐ€๋กœ print๋กœ ์ถœ๋ ฅํ•ด์„œ ์ €์žฅ๋œ ๋””๋ ‰ํ† ๋ฆฌ ์ฐพ๊ธฐ ์‰ฝ๊ฒŒ ํ•ด๋ดค์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!!

@boyamie Replyโ€ฆ boyamie marked this conversation as resolved. yolov11/inference.py @Haneol-Kijm Haneol-Kijm yesterday ์ด ์ฝ”๋“œ๋Š” ์ œ๊ฐ€ ์œ ์‹ฌํžˆ ๋ณผ ํ•„์š”๊ฐ€ ์žˆ์–ด ์›๋ณธ inference ์ฝ”๋“œ์™€ submission ํŒŒ์ผ์„ ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. ์ œ์ถœ ํ˜•์‹์— confidnece ์Šค์ฝ”์–ด๋ฅผ .4f๋กœ ์ง€์ •ํ•˜์—ฌ 4์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ‘œ์‹œ๋˜๊ฒŒ ๋˜์–ด์žˆ๋Š”๋ฐ์š”,

for j in range(class_num): for o in out[j]: prediction_string += str(j) + โ€˜ โ€˜ + str(o[4]) + โ€˜ โ€˜ + str(o[0]) + โ€˜ โ€˜ + str(o[1]) + โ€˜ โ€˜ + str( o[2]) + โ€˜ โ€˜ + str(o[3]) + โ€˜ โ€˜ ์›๋ณธ์€ ์•„์˜ˆ ์ž๋ฆฌ์ˆ˜ ์ง€์ •์ด ์—†๋”๋ผ๊ตฌ์š”. ์‹ค์ œ๋กœ submission ํŒŒ์ผ์—๋„ ์ปจํ”ผ๋˜์Šค ์ ์ˆ˜๊ฐ€ 8์ž๋ฆฌ ์งœ๋ฆฌ๋„ ์žˆ๊ณ  ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ๋ถ€๋ถ„์€ ์•„์˜ˆ ๋นผ์…”์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์™ธ์—๋Š” ์›๋ณธ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋ฐ”๊พธ์…”์„œ ๋ณด๊ธฐ ์ข‹๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ง๋‹ˆ๋‹ค. ํŒŒ์ผ๋ช…์„ ๋Œ€์‹ ์— submission.csv๋ณด๋‹จ submission_{๋ชจ๋ธ๋ช…}.csv๋ฉด ์ข€ ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Author @boyamie boyamie 20 hours ago Confidence ์Šค์ฝ”์–ด์˜ ์ž๋ฆฌ์ˆ˜ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๊ณ , ์ถœ๋ ฅ ํŒŒ์ผ๋ช…์„ ๋ชจ๋ธ๋ช… ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค!

prediction_string += fโ€{int(cls)} {conf} {xmin} {ymin} {xmax} {ymax} โ€œ Author @boyamie boyamie 20 hours ago model_name = โ€œyolo11xโ€ submission_file = fโ€submission_{model_name}.csvโ€ @boyamie Replyโ€ฆ boyamie marked this conversation as resolved. yolov11/split.py @Haneol-Kijm Haneol-Kijm yesterday ๊ทธ๋ƒฅ ํ•จ์ˆ˜ํ˜•์‹์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋ณต๋ถ™ํ•ด์„œ ํŒŒ์ดํ”„๋ผ์ธ์— ์ถ”๊ฐ€ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š”๋ฐ, ์ค‘๋ณต๋˜๋Š” ๊ธฐ๋Šฅ์ด์ง€๋งŒ ๊ฐ™์ด ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒŒ ์ฝ”๋“œ ๊ตฌ์กฐ ์ „์ฒด์—์„œ ์ผ๊ด€์„ฑ ์žˆ๊ณ  ๋” ๊น”๋”ํ•œ ๊ฑฐ ๊ฐ™์•„์„œ ๋ณด๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ์ œ๊ฐ€ ์ง€์€ ๊ฑฐ์ง€๋งŒ train2๋ž‘ val2๋ž€ ์ด๋ฆ„์€ ์ข€ ๊ตฌ๋ฆฐ ๊ฑฐ ๊ฐ™๋„ค์š”.

Author @boyamie boyamie 20 hours ago train_file=โ€train_split.jsonโ€ val_file=โ€val_split.jsonโ€ ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค !! ใ…‹ใ…‹ใ…‹ใ…‹ train2๋ž‘ val2๋„ ๊ดœ์ฐฎ์•„..์š”!!

@boyamie Replyโ€ฆ boyamie marked this conversation as resolved. yolov11/streamlit.py @Haneol-Kijm Haneol-Kijm yesterday streamlit์€ ์ œ๊ฐ€ ์•ˆ ์จ๋ด์„œ ์ž˜ ๋ชจ๋ฅด๋Š”๋ฐ, ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก visualizeํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ pr์— ์ฒจ๋ถ€ํ•ด์ฃผ์‹œ๋ฉด ์ข€ ๋” ์•„๋ฆ„๋‹ค์šธ ๊ฑฐ ๊ฐ™๋‹ค๊ณ  ๋‹ค๋ฅธ ํŒ€์›๊ป˜์„œ ์–ธ๊ธ‰ํ•œ ์ ์ด ์žˆ๊ธด ํ•ฉ๋‹ˆ๋‹ค.

Author @boyamie boyamie 20 hours ago ์ข‹์€ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค! streamlit ์•ฑ์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ๋ณด์™„ํ•˜๋ฉด์„œ pr๋‚ ๋ฆด ๋•Œ ์ด๋ฏธ์ง€๋ฅผ ์ฒจ๋ถ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

@boyamie Replyโ€ฆ boyamie marked this conversation as resolved. yolov11/train.py @Haneol-Kijm Haneol-Kijm yesterday ์ด ํ•™์Šต ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ์ „๋ฐ˜์ ์œผ๋กœ ๋˜๊ฒŒ ๊น”๋”ํ•ด์„œ ์ƒ๋‹นํžˆ ๋งˆ์Œ์— ๋“œ๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ•œ ๊ฐ€์ง€ ๊ฑธ๋ฆฌ๋Š” ์ ์ด ์žˆ๋Š”๋ฐ์š”,

results = model.train(data=โ€™/data/ephemeral/home/github/yolov11/cfg/data.yamlโ€™, epochs=50, imgsz=512, batch=16) ์ด ๋ถ€๋ถ„์—์„œ validation set์ด ๋”ฐ๋กœ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์ด ์—†์ง€ ์•Š๋‚˜์š”? ๋ณดํ†ต ์ด๋Ÿฐ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—” model.train(validation_data_path=~) ์ด๋Ÿฐ ์‹์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜, model.validate ๊ฐ™์€ ํ•จ์ˆ˜๋ฅผ ๋”ฐ๋กœ ์ถ”๊ฐ€๋กœ ์จ์ค˜์•ผํ•˜์ง€ ์•Š๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค. ๋˜ ์ง€๊ธˆ ์•ˆ ๊ฑด๋ฐ image ์˜คํƒ€๋„ ์žˆ๋„ค์š”. ์ด ๋ถ€๋ถ„ ์ฒดํฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Author @boyamie boyamie 20 hours ago Ultralytics ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ชจ๋ธ์˜ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•  ๋•Œ imgsz ๋ผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค! (๏ฟฝ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๋ฅผ ์ค„์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹น ) validation ๋ฐ์ดํ„ฐ๋Š” data.yaml์—์„œ ์„ค์ •๋œ ๋Œ€๋กœ ์‚ฌ์šฉ๋˜๊ฒŒ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค!

@Haneol-Kijm Haneol-Kijm 17 hours ago ์•„ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๊ณ  yaml์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฐ์š”. ์˜คํ•ด๊ฐ€ ์žˆ์—ˆ๋„ค์š” ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

@boyamie Replyโ€ฆ boyamie marked this conversation as resolved. @boyamie โ™ป๏ธ After feedback b787d60 Haneol-Kijm Haneol-Kijm approved these changes 17 hours ago Haneol-Kijm left a comment ๋งค์šฐ ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•˜๊ณ  ์ข‹์•„์ ธ์„œ ๋ณด๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค! ๋ณ‘ํ•ฉ์€ ๋”ฐ๋กœ ํ•˜์‹ค ๊ฑฐ ๊ฐ™์•„ ์Šน์ธ๋งŒ ๋„ฃ๊ณ  ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฑด ๋ณ„๋„์˜ ์งˆ๋ฌธ์ธ๋ฐ์š”, ์Šˆ๋„ ๋ผ๋ฒจ๋ง ์ฝ”๋“œ๋Š” ๋ณ„๊ฐœ๋กœ ์‹คํ–‰ํ•ด์•ผ ๋˜๋Š” ํŒŒ์ผ์ธ๊ฐ€์š”? main ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€์žˆ๋„ค์š”.

@boyamie ๐Ÿฉน Add model path 4cb7611 Merge state Changes approved 1 approving review 1 approval This branch has no conflicts with the base branch Merging can be performed automatically.