aws ํ๊ฒฝ์์ Darknet์ ํตํ YoloV4๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌผ์ฒด๋ฅผ ๊ฒ์ถํด๋ณด๋๋ก ํ์.
๋ณธ์ธ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ filzila๋ก ๋ถ๋ฌ์๋ค๊ณ ๊ฐ์ ํ์. (๋๋๊ทธ & ๋๋กญ ๋๋ฌด ํธ๋ฆฌํ๋น..git clone๋ ๋ญ๊ฐ์ ์ ์กํ๊ธฐ์ํ ์ถ๊ฐ๋ชจ๋๋ ์ ํ ํ์์์ผ๋..)
์ด์ ์ด๋ฅผ ์คํ์ํค๊ธฐ ์ํ darknet๋ฅผ ์ค์นํด์ค์ผ ํ๋ค. 3์ค์ด ๋์ด๋ค. ๋ค๋ฅธ opencv, tensorflow์ค์น ๊ฐ์ ๊ฑฐ ํ์์๋ค.
git clone https://github.com/AlexeyAB/darknet
cd darknet
make (๐ฅ ์๋ ์ฃผ์์ฌํญ ๋จผ์ ์ฐธ๊ณ )
make ๊ฐ ์๋๋ฉด sudo apt
๐ฅ ๋ง์ผ GPU๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํ๋ค๋ฉด darkent make ์์ ์ด๋ฅผ ํด์ฃผ๊ณ make ํด์ฃผ์ด์ผํ๋ค. ๋ํ openCV๋ฅผ ๋ฏธ๋ฆฌ ๊น์์ค์ผํ๋ค.
weight ๋ฐ cfg ํ์ผ์ ๋ณธ์ธ์ ๋ชจ๋ธ์ ๋ง๊ฒ ๊ฐ์ ธ์ค๋ฉด ๋๋ค.
๋ง์ฝ ๋ฐ๋ก weight ๋ฐ cfg๊ฐ ์ ์ ํ ์์ด ์์ ์ฝ๋๋ฅผ ๋๋ ค๋ณด๊ณ ์ถ๋ค๋ฉด ๋ค์ ๊ณต์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ถ์ฒ
https://codingcrews.github.io/2019/01/15/deeplearning-gpu/
https://webnautes.tistory.com/1482
์๋ฒ ๋ด ์ฝ๋์ os.system(./darknet ~~~) ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ์๋ฒ๊ฐ ๋์ํ๋ ๋์์ ๋ช ๋ น์ด ์ ๋ ฅ์ ํตํด ๋ชจ๋ธ์ ๋์์ํค๋๋ก ํ์.
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
๊ณผ ๊ฐ์ด yolo๋ชจ๋ธ์ ๋์์ํจ๋ค.
ํ์ง๋ง ์ด๋ ์๋ฒ์์ darknet๋ฅผ ๋์์์ผ์ผํ๋ฏ๋ก Flask์๋ฒ๊ฐ ๋์์ค์ธ CLI์ฐฝ์์๋ ์ด๋ฌํ ๋ชจ๋ธ์ ์คํ์ํค๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ์ ์์ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ Flask ์๋ฒ ์ฝ๋(.py) ํ์ผ์ os.chdir(home/ubuntu/darknet)
os.system( ./darknet ~~)
์ด๋ฐ์์ผ๋ก darknet ํด๋๋ก ์ด๋ ํ, darknet์ ์คํ์ํค๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
python์ subprocess ๋ชจ๋ธ์ ์ฌ์ฉํด์ ์ด๋ฅผ ์ํํ๋ ค ํ์ง๋ง ls, pwd์ ๊ฐ์ ๋ช ๋ น์ด๋ ์ ์ธ์ํ๋๋ฐ darknet์ ์คํํ๋ ค๋ ๊ณ์ No Search File Directory์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค. ์ฐ๊ตฌ์ค์์ ๋ฉ์งฑ๋๊ณผ ํ๋ฃจ์ข ์ผ ์ฐ๊ตฌํด๋ณด์์ผ๋ ๊ทธ ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ๋ค.
์๋ฌดํผ OS.SYSTEM ์ ์ฐ๋ฉด ์ ๊ตด๋ฌ๊ฐ๋ค.