๋ณธ ๊ฐ์๋ Object Detection๊ณผ Segmentation์ ๋ํ ๊น์ด ์๋ ์ด๋ก ์ค๋ช ๊ณผ ํ์ ์์ ๋ฐ๋ก ์ฌ์ฉ๋ ์ ์๋ ์์ค์ ์ค์ต ์์ ๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ํ์ฅ์์ ํ์ํ ๋ฅ๋ฌ๋ ๊ธฐ๋ฐ์ ์ปดํจํฐ ๋น์ ์ ๋ฌธ๊ฐ๋ก ๋ฐ๋์์์ผ ๋๋ฆด ๊ฒ์ ๋๋ค.
์๋ ํ์ญ๋๊น,
Pytorch ๊ฐ์ ์ถ์ ๋ฐ ์ ๋ด ๋ง์ด ํ์ฌ๋ก ์ค๋(4์ 2์ผ) ๋ถํฐ 4์ 15์ผ๊น์ง 2์ฃผ๊ฐ ์ ๋ชจ๋ ๊ฐ์๋ฅผ 30% ํ ์ธ ์งํํฉ๋๋ค.
์ธํ๋ฐ ๋ง์ผํ ํ์์ ์๊ณ ํด ์ฃผ์ ์, ์๋ ํ์ฌ ํ์ด์ง๋ ๋ณ๋๋ก ๋ง๋ค์์ผ๋ ์ฐธ์กฐ ๋ถํ๋๋ฆฝ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ๋ฅ๋ฌ๋ ์ปดํจํฐ ๋น์ ์๋ฒฝ ๊ฐ์ด๋์ ์ด๋ฒ์ ์ถ์ํ ๋ฅ๋ฌ๋ CNN ์๋ฒฝ ๊ฐ์ด๋ - Pytorch ๋ฒ์ ์ ์๋กญ๊ฒ ๋ก๋๋งต์ผ๋ก ๊ตฌ์ฑํ์์ต๋๋ค. ๊ด์ฌ ์์ผ์ ๋ถ์ ์๋ ๋ก๋๋งต ํ์ด์ง ๋ฐฉ๋ฌธ ๋ถํ๋๋ฆฌ๋ฉฐ, ํน๋ณํ 2์ฃผ๊ฐ๋ง ํด๋น ๋ก๋๋งต์ ํํด ํน๋ณ ํ ์ธ ์ ์ฉ ์ค์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ญ๋๊น,
์์ ๋ณด๋ค ์ผ์ฐ ์์คํ ๊ตฌ์ฑ์ด ์๋ฃ๋์ด ๋ฐฉ๊ธ, ์ ๊ท ๊ฐ์์ธ '๋ฅ๋ฌ๋ CNN ์๋ฒฝ ๊ฐ์ด๋ - Pytorch ๋ฒ์ ' ๊ฐ์๋ฅผ ์คํ ํ์์ต๋๋ค.
์ค๋ ์๊ฐ์ ๊ฑธ์ณ ๋ณธ ๊ฐ์๋ฅผ ์ค๋นํด ์์ต๋๋ค. ๊ธฐ์กด TFKeras ๋ฒ์ ๊ฐ์์์ ๋ณด๋ค ๊ฐ์ ๋ ๊ฐ์ ๋ด์ฉ๊ณผ ํจ๊ป, ๋ณธ ๊ฐ์๋ฅผ ํตํด PyTorch ๊ธฐ๋ฐ์ผ๋ก CNN์ ์๋ฆฌ๋ถํฐ ์ค์ต๊น์ง ๋จ๊ณ์ ์ผ๋ก ํ์ตํ์ฌ, ์ค๋ฌด ํ๋ก์ ํธ์์๋ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ ์ค์ ์ญ๋์ ์์ผ์ค ์ ์์ ๊ฒ์ ๋๋ค.
์๋ URL์ ๋ณด๋ค ์์ธํ ๊ฐ์ ์๊ฐ ๋ด์ฉ์ ์๋กํ์์ต๋๋ค.
๊ฐ์ ์๊ฐ ํ์ด์ง: https://www.inflearn.com/course/%EB%94%A5%EB%9F%AC%EB%8B%9D-cnn-%EC%99%84%EB%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C-%ED%8C%8C%EC%9D%B4%ED%86%A0%EC%B9%98
Pytorch์ ๊ด์ฌ ์์ผ์ จ๋ค๋ฉด, ์ด๋ฒ ๋ฅ๋ฌ๋ CNN ์๋ฒฝ ๊ฐ์ด๋ - Pytorch ๊ฐ์ ์ ํ์ ํํํ์์ง ์์ผ์ค ๊ฒ์ ๋๋ค. CNN์ ๋ฌผ๋ก ์ด๊ณ Pytorch์ ๊ธฐ๋ณธ๋ถํฐ ์ฌํ๊น์ง ๋ณธ ๊ฐ์๋ฅผ ํตํด์ ์๋ฒฝํ๊ฒ ๋ง์คํฐ ํ์ค ์ ์์ ๊ฒ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ญ๋๊น,
๋ฉฐ์น ์ ์ Colab ํ๊ฒฝ์ Python ๋ฒ์ ์ด 3.10์์ 3.11๋ก ๋ณ๊ฒฝ์ด ๋๋ฉด์ ๊ธฐ์กด ์ค์ต ๊ฐ์ ์ค MMDetection์ด ์ค์น๊ฐ ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ต๋๋ค.
์ด์ ์๋กญ๊ฒ MMDetection์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์น์ 5 - MMDetection์ ์ดํด์ Faster RCNN ์ ์ฉ ์ค์ต - 01 ์ <๊ณต์ง> mmdetection ์ค์ต ํ๊ฒฝ ๋ฐ ํ์ต Config ๋ณ๊ฒฝ ๊ณต์ง ์์์ ์๋กํ์์ผ๋ ํด๋น ์์์ ์ฐธ๊ณ ํ์ ์ ์ค์นํ์๋ฉด ๋ฉ๋๋ค.
MMDetection์ ํ์ฌ ์ค์ต ์ค์ด์ ๋ถ๋ค์ https://github.com/chulminkw/DLCV_New
์์ ์๋กญ๊ฒ MMDetection ์ค์น ์ฝ๋๊ฐ ๋ฐ์๋ ์ค์ต ์ฝ๋๋ฅผ ๋ค์ ๋ค์ด๋ก๋ ๋ฐ์ผ์ ์ ์ค์ต ๋ถํ ๋๋ฆฝ๋๋ค.
๋๋ถ์ด ์ด๋ฅด์ง๋ง ์ค๋ ์ธ์ฌ ๋๋ฆฝ๋๋ค. ์ธ์ ๋ ์ ๊ฐ์์ ๊ด์ฌ ๊ฐ์ ธ์ฃผ์ ์ ๊ฐ์ฌ๋๋ฆฌ๋ฉฐ, ์ฌ ํํด ์ํ์๋ ๋ฐ ๋ชจ๋ ์์ ์ฑ์ทจํ์๊ณ , ์ํด ๋ณต ๋ง์ด ๋ฐ์ผ์ญ์์.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ญ๋๊น, ์๊ฐ์ ์ฌ๋ฌ๋ถ, ๊ถ์ฒ ๋ฏผ ์ ๋๋ค.
์ ๊ฐ ์ด๋ฒ์ 'FastAPI ์๋ฒฝ ๊ฐ์ด๋' ๋ผ๋ ์ ๋ชฉ์ผ๋ก ์๋กญ๊ฒ ๊ฐ์๋ฅผ ์ถ์ํ์์ต๋๋ค. FastAPI์ ๊ด์ฌ์ด ์์ผ์ ๋ถ๋ค์๊ฒ ๋์์ด ๋๊ณ ์ ๊ฐ๋ตํ ๊ฐ์ ์๊ฐ ๊ธ ์ฌ๋ฆฝ๋๋ค.
'FastAPI ์๋ฒฝ ๊ฐ์ด๋'๋ FastAPI์ ํต์ฌ ๊ตฌ์ฑ ์์๋ถํฐ ๊ณ ๊ธ ๊ธฐ๋ฅ๊น์ง ์ฒด๊ณ์ ์ธ ํ์ต์ด ๊ฐ๋ฅํ๋๋ก ๋ค์ํ ์์ ์ ํ๋ถํ ์ค์ ํ๋ก์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๋ํ FastAPI ์์ฒด๋ง์ ๋ค๋ฃจ์ง ์๊ณ , FastAPI๋ฅผ ํ์ฉํ ์น ์๋น์ค ๊ฐ๋ฐ์ ์ ๊ณผ์ ์ ๋ค๋ฃน๋๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ FastAPI๋ฅผ ์ค์ ํ๋ก์ ํธ์ ๋ฐ๋ก ์ ์ฉํ ์ ์์ ์ ๋์ ์ค๋ ฅ์ ํค์ฐ์ค ์ ์์ ๊ฒ์ ๋๋ค.
๋ณด๋ค ์์ธํ ๊ฐ์ ์๊ฐ๋ ์๋ URL์์ ํ์ธ ํ์ค ์ ์์ต๋๋ค.
https://www.inflearn.com/course/fastapi-%EC%99%84%EB%B2%BD-%EA%B0%80%EC%9D%B4%EB%93%9C
FastAPI๋ฅผ ์ํ ๋ณธ ๊ฐ์์ ์ ํ, ํํํ์ง ์์ผ์๋๋ก ๋ง์ ์๊ฐ, ์ ์ฑ์ ๋คํด ์ ์ํ์์ต๋๋ค.
๋ค๊ฐ์ค๋ ์ถ์ ์ฐํด, ๋ชจ๋๋ค ํ๋ณตํ๊ณ , ์์คํ ์๊ฐ์ด ๋์๊ธธ ๊ธฐ์ ๋๋ฆฝ๋๋ค. ์ ๊ฐ์๋ฅผ ์ฌ๋ํด์ฃผ์๋ ๋ชจ๋ ์๊ฐ์ ๋ถ๋ค๊ป, ๋ฏธ๋ฆฌ ์ถ์ ์ธ์ฌ ํฐ ์ ๋๋ฆฝ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ญ๋๊น, ์๊ฐ์ ์ฌ๋ฌ๋ถ
์ ๊ฐ ์ด๋ฒ์ ์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ปค๋ฅํธ(Connect)ํธ ์ด๋ผ๋ ์ ๋ชฉ์ผ๋ก ์ ๊ท ๊ฐ์๋ฅผ ์คํ ํ์์ต๋๋ค.
์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ฝ์ดํธ์ ์ด์ ๋๋ฒ์งธ ์นดํ์นด ์๋ฆฌ์ฆ ๊ฐ์ ์ ๋๋ค.
๋ณธ ๊ฐ์๋ ์ง๊ธ๊ป ์ด๋ค ๊ฐ์๋ ์ฑ ์์๋ ์ ํ ์ ์์๋, ์์ธํ๊ณ ์ค์ ์ ์ธ ์์ค์ผ๋ก ์นดํ์นด ์ปค๋ฅํธ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์นดํ์นด ์ปค๋ฅํธ ํต์ฌ ๊ตฌ์ฑ ์์๋ค์ ์์ธํ ๋ฉ์ปค๋์ฆ ์ค๋ช , ๊ทธ๋ฆฌ๊ณ ์ปค๋ฅํธ๋ฅผ ํ์ฉํ ๋ค์ํ ๋ฐ์ดํฐ ์ฐ๋๊ณผ ์ด์ ๊ด๋ฆฌ๋ฅผ ๋ค๋ค๋ณผ ์ ์๋ ๋ง์ ์ค์ต ์์ ๋ค์ ํตํด ์ฌ๋ฌ๋ถ์ ํ์ฅ์์ ํ์๋ก ํ๋ ์นดํ์นด ์ปค๋ฅํธ ์ ๋ฌธ๊ฐ๋ก ์ฑ์ฅ์์ผ ๋๋ฆด ๊ฒ์ ๋๋ค.
2022๋ ์ด ์ผ๋ง ์ ๋จ์๊ตฐ์. ์ ๊ฐ์๋ฅผ ๋ค์ด์ฃผ์๊ณ ์ฌ๋ํด ์ฃผ์๋ ์ฌ๋ฌ๋ถ, ๋๋ฌด๋ ๊ฐ์ฌ ๋๋ฆฝ๋๋ค.
์ผ๋ง ์ ๋จ์ 2022๋ ์ ๋ง๋ฌด๋ฆฌ ํ์๊ณ , ๋ค๊ฐ์ค๋ 2023๋ , ์๋ง ํ์๋ ๋ชจ๋ ์ผ๋ค ๋ค ์ด๋ฃจ์๊ณ , ๊ฑฑ์ ๊ทผ์ฌ ์๋ ํ ํด๊ฐ ๋์๊ธฐ๋ฅผ ๊ธฐ์ ๋๋ฆฝ๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ญ๋๊น, ์๊ฐ์ ์ฌ๋ฌ๋ถ.
์ ๊ฐ ์ด๋ฒ์ '์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ฝ์ดํธ' ์ด๋ผ๋ ์ ๋ชฉ์ผ๋ก ์๋กญ๊ฒ ๊ฐ์๋ฅผ ์ถ์ํ์์ต๋๋ค.
์นดํ์นด(Kafka)๋ ๋์ฉ๋ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ ์์ง์ ๋ฌผ๋ก ๋๊ท๋ชจ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ, ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ(MSA) ๊ตฌ์ถ ๋ฑ์์ ์ด์ ๋นผ๋์ ์ ์๋ ์ ํ์ง๊ฐ ๋์์ต๋๋ค.
๋๋ฌธ์ ์ต๊ทผ ๋ช ๋ ๊ฐ ๋ง์ ๊ธฐ์ ๋ค์ ์นดํ์นด๋ฅผ ์๋คํฌ์ด ๋์ ํ๊ณ ์์ผ๋ฉฐ, ์ ๋ฌธ ์ธ๋ ฅ์ ๋ํ ์์๋ ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์์ต๋๋ค.
'์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ฝ์ดํธ' ๊ฐ์๋ ์นดํ์นด์ ํต์ฌ๋ถํฐ ๋ด๋ถ ๋ฉ์ปค๋์ฆ์ ๋ํ Advanced ๋ด์ฉ๊น์ง, ์์ธํ ์ด๋ก ์ค๋ช ๊ณผ ํธ์ฆ์จ ์ค์ต & ์ค์ ์นดํ์นด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ค์ต์ ํตํด ์นดํ์นด๋ฅผ ์์ํ๋ ์ฌ๋๋ ๋จ์จ์ ์ ๋ฌธ๊ฐ ๋ ๋ฒจ๋ก ๋๋ฌํ ์ ์๋๋ก ๊ฐ์๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค.
์ฌ๋ฌ๋ถ์ ์นดํ์นด ๊ธฐ์ ๊ฐ์ฆ์ ํด๊ฒฐ ์์ผ๋๋ฆผ๊ณผ ๋์์ ์นดํ์นด์ ์ด์๊ณผ ๊ฐ๋ฐ์ ํ์ํ ํ์ ์์๋ถํฐ Advanced ํต์ฌ ๋ฉ์ปค๋์ฆ๊น์ง ๋ณธ ๊ฐ์๋ฅผ ํตํด ๋ชจ๋ ์ฒด๋ํ ์ ์์ ๊ฒ์ ๋๋ค.
์๋ URL์ ๋ณด๋ค ์์ธํ ๊ฐ์ ์๊ฐ๋ฅผ ์์ฑํ์์ต๋๋ค.
์นดํ์นด ์๋ฒฝ ๊ฐ์ด๋ - ์ฝ์ดํธ ๋ฐ๋ก ๊ฐ๊ธฐ
๋จ๊ฑฐ์ด ์ฌ๋ฆ์ ์ด๊ธฐ๋ ํํ ๊บฝ์ธ ์์ฆ์ ๋๋ค. ๋ชจ๋๋ค ์ฆ๊ฑฐ์ด ์ฌ๋ฆ์ ๋์๋ฝ์ ๋ง๊ป ์ฆ๊ธฐ๋ ๊ธ์์ผ์ด ๋์ จ์ผ๋ฉด ํฉ๋๋ค.
์ ๊ฐ์๋ฅผ ์ฌ๋ํด ์ฃผ์๋ ๋ชจ๋ ์๊ฐ์๋ถ๋ค์๊ฒ, ์ธ์ ๋ ๊ฐ์ฌํ ๋ง์๋ฟ์ ๋๋ค. ^^
์๋ ํ์ญ๋๊น,
mmdetection ํจํค์ง์ ์ต๊ทผ ๋ณ๊ฒฝ์ผ๋ก ์ธํ์ฌ train_detector(model, datasets, cfg, distributed=False, validate=True) ์ํ ์ 'ConfigDict' object has no attribute 'device' ์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๋ค.
ํด๋น ์ด์๋ https://github.com/open-mmlab/mmdetection/issues/7901 ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ config ์ค์ ์ ์๋์ ๊ฐ์ด cfg.device='cuda' ๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
๊ฐ๋ น ์๋ฅผ ๋ค์ด ์ค์ต ์ฝ๋์ ์๋ cfg ์ค์ ์์ ์๋์ ๊ฐ์ด ๋งจ ๋ง์ง๋ง์ cfg.device='cuda'๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
ํด๋น ๋ด์ฉ์ด Bug์ธ์ง, ์๋ ์๋์ ์ธ ๊ฒ์ธ์ง ํ์คํ์ง ์์ผ๋ฏ๋ก ์ผ๋จ์ github์ ์๋ ์ค์ต ์ฝ๋๋ ์์ ํ์ง ์๊ฒ ์ต๋๋ค.
1์ฃผ์ผ ์ ๋ ์ง์ผ๋ณธ ๋ค์ ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๋ฐ์ํ ๊ฒฝ์ฐ github์ ์๋ ์ค์ต ์ฝ๋๋ฅผ ์์ ํ ๊ณต์ง ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
# dataset์ ๋ํ ํ๊ฒฝ ํ๋ผ๋ฏธํฐ ์์ .
cfg.dataset_type = 'PetDataset'
cfg.data_root = '/content/data/'
# train, val, test dataset์ ๋ํ type, data_root, ann_file, img_prefix ํ๊ฒฝ ํ๋ผ๋ฏธํฐ ์์ .
cfg.data.train.type = 'PetDataset'
cfg.data.train.data_root = '/content/data/'
cfg.data.train.ann_file = 'train.txt'
cfg.data.train.img_prefix = 'images'
..... ๊ทธ๋ฐ์ config ์ค์
# 'ConfigDict' object has no attribute 'device' ์ค๋ฅ ๋ฐฉ์ง๋ฅผ ์ํ ์ค์ .
cfg.device='cuda'
์๋ ํ์ญ๋๊น, ๊ถ์ฒ ๋ฏผ ์ ๋๋ค.
์ ๊ฐ ์ด๋ฒ์ '๋ค์ํ ์ฌ๋ก๋ก ์ตํ๋ SQL ๋ฐ์ดํฐ ๋ถ์' ๊ฐ์๋ฅผ ์ถ์ํ์์ต๋๋ค.
๋ณธ ๊ฐ์๋ ์ฌ๋ฌ๋ถ์ SQL ์ค๋ ฅ๊ณผ ์ค์ ๋ถ์ ๋ฅ๋ ฅ์ ๋์์ ํฅ์ ์์ผ๋๋ฆด ์ ์๋๋ก ๋ง๋ค์ด์ก์ต๋๋ค.
๋งค์ถ ๋ถ์, ์ฃผ๋ฌธ ๋ถ์ ๋ฑ์ ๋๋ฉ์ธ ๊ด๋ จ ๋ด์ฉ๋ฟ๋ง ์๋๋ผ, Google Analytics์ ๊ทธ๋ก์ค ํดํน ์์ญ์์ ํ์ฉ๋๋ ์ฌ๋ฌ ๋ถ์ ์งํ๋ค์ ๋์ด๋ ๋์ SQL์ ํตํด์ ๊ตฌํํ๋ฉด์ ๋ถ์ ์ญ๋๊ณผ SQL ์ค๋ ฅ์ ๋์์ ํฅ์์ํฌ ์ ์๋๋ก ๊ตฌ์ฑํ์์ต๋๋ค.
์์ฝ๊ฒ๋, ๋ณธ ๊ฐ์๋ '๋ฐ์ดํฐ ๋ถ์ SQL Fundamentals' ๊ฐ์๋ฅผ ์๊ฐํ์ ๋ถ๋ค์ ๋์์ผ๋ก ํฉ๋๋ค. ์ ์ ๊ฐ์๋ฅผ ์๊ฐํ์ง ์์ผ์ ๋ถ๋ค์ ๊ฒฝ์ฐ๋ '๋ค์ํ ์ฌ๋ก๋ก ์ตํ๋ SQL ๋ฐ์ดํฐ ๋ถ์' ๊ฐ์ ์๊ฐ์ ์ ์ ๊ณผ์ ๋ด์ฉ์ ํ์ธํ์์ด ๊ฐ์ ์ ํ์ ์ฐธ์กฐ ๋ถํ๋๋ฆฝ๋๋ค.
5์์ ํ์ฐฝํจ์ ๋๋ผ๋ฌ ์ฐ์ฑ ํ๊ธฐ ์ข์ ๋ ์จ ์ ๋๋ค. ์ฌ๋ฌ๋ถ ๋ชจ๋ ๊ฑด๊ฐํ์๊ณ , 5์์ ํฉ๊ธ ์ฐํด ์ ๋ณด๋ด์ญ์์.
๊ฐ์ฌํฉ๋๋ค.
์ โฉ24,200
5๊ฐ์ ํ ๋ถ ์
โฉ121,000