darknet
average
ํจ์ ์ด๋ฆ: average
์ ๋ ฅ:
argc (int ํ์ ): ํ๋ก๊ทธ๋จ ์คํ ์ ์ ๋ฌ๋๋ ์ธ์์ ๊ฐ์
argv (char* ํ์ ): ํ๋ก๊ทธ๋จ ์คํ ์ ์ ๋ฌ๋๋ ์ธ์๋ค์ ๋ฐฐ์ด
argv[2] (char* ํ์ ): configuration ํ์ผ์ ๊ฒฝ๋ก
argv[3] (char* ํ์ ): ๊ฒฐ๊ณผ ํ์ผ์ ๊ฒฝ๋ก
argv[4] (char* ํ์ ): ๊ฐ์ค์น(weight) ํ์ผ์ ๊ฒฝ๋ก
argv[5]๋ถํฐ (char* ํ์ ): ๊ฐ์ค์น(weight) ํ์ผ๋ค์ ๊ฒฝ๋ก๋ค
๋์:
configuration ํ์ผ(cfgfile)์ ํ์ฑํ์ฌ network ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ network ๊ตฌ์กฐ์ฒด(sum)๋ ๋ง๋ ๋ค. (cfgfile๋ก๋ถํฐ ํ์ฑํ ๊ฒ๊ณผ ๊ฐ์ ๊ตฌ์กฐ)
argv[4]๋ฅผ ๊ฐ์ค์น ํ์ผ๋ก ์ฝ์ด๋ค์ฌ sum์ ์ ์ฅํ๋ค.
argv[5]๋ถํฐ ๋๊น์ง ๋ฐ๋ณตํ๋ฉฐ ๊ฐ์ค์น ํ์ผ์ ์ฝ์ด๋ค์ธ ํ, sum๊ณผ ๋ํ๋ค.
sum์ n+1๋ก ๋๋ ํ๊ท ๊ฐ์ ๊ตฌํ๋ค. (n์ ๊ฐ์ค์น ํ์ผ์ ๊ฐ์)
๊ฒฐ๊ณผ๋ฅผ outfile์ ์ ์ฅํ๋ค.
์ค๋ช :
์ด ํจ์๋ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๊ฐ์ค์น(weight) ํ์ผ๋ค์ ์ ๋ ฅ์ผ๋ก ๋ฐ์, ์ด๋ค์ ํ๊ท ๊ฐ์ ๊ตฌํ ํ, ํ๋์ ๊ฐ์ค์น ํ์ผ๋ก ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค.
์ด ํจ์๋ Darknet ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ์ ์ผ๋ถ๋ถ์ผ๋ก, C ์ธ์ด๋ก ์์ฑ๋์๋ค.
์ด ํจ์๋ CLI(Command-Line Interface) ํ๊ฒฝ์์ ์คํ๋๋ฉฐ, argc์ argv๋ฅผ ํตํด ํ๋ก๊ทธ๋จ ์คํ ์ ์ ๋ฌ๋๋ ์ธ์๋ค์ ๋ฐ๋๋ค.
์ด ํจ์๋ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฐ์ค์น ํ์ผ๋ค์ ํ๊ท ์ ๊ตฌํ๋ฏ๋ก, ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ค.
numops
ํจ์ ์ด๋ฆ: numops
์ ๋ ฅ:
network ๊ตฌ์กฐ์ฒด ํฌ์ธํฐ: ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ์ฒด์ ๋ํ ํฌ์ธํฐ์ ๋๋ค.
๋์:
๋คํธ์ํฌ์ ์๋ ๋ชจ๋ ๋ ์ด์ด์ ์ด ์ฐ์ฐ ํ์๋ฅผ ๊ณ์ฐํ์ฌ ๋ฐํํฉ๋๋ค.
์ค๋ช :
network ๊ตฌ์กฐ์ฒด๋ Darknet ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ ์ด์ด์ ํ์ ์ ๋ฐ๋ผ ์ฐ์ฐ ํ์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, CONVOLUTIONAL, CONNECTED, RNN, GRU, LSTM ๋ ์ด์ด ํ์ ์ ๋ฐ๋ผ ๊ณ์ฐ์ ์ํํฉ๋๋ค.
CONVOLUTIONAL ๋ ์ด์ด์ ๊ฒฝ์ฐ, ์ปจ๋ณผ๋ฃจ์ ์ฐ์ฐ๊ณผ ๋ง์ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก, 2 * ํํฐ ์ด ์์ ์ * ์ถ๋ ฅ ํฌ๊ธฐ ๋งํผ์ ์ฐ์ฐ ํ์๊ฐ ๋ํด์ง๋๋ค.
CONNECTED ๋ ์ด์ด์ ๊ฒฝ์ฐ, ํ๋ ฌ ๊ณฑ์ ๊ณผ ๋ง์ ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋ฏ๋ก, 2 * ์ ๋ ฅ ํฌ๊ธฐ * ์ถ๋ ฅ ํฌ๊ธฐ ๋งํผ์ ์ฐ์ฐ ํ์๊ฐ ๋ํด์ง๋๋ค.
RNN, GRU, LSTM ๋ ์ด์ด์ ๊ฒฝ์ฐ, ์ ๋ ฅ ๊ฒ์ดํธ, ์ถ๋ ฅ ๊ฒ์ดํธ, ์ญ์ ๊ฒ์ดํธ์ ๊ฐ์ ๊ฐ ๊ฒ์ดํธ๋ง๋ค ์ฐ์ฐ ํ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ด๋ค ๋ ์ด์ด์ ์ด ์ฐ์ฐ ํ์๋ ๊ฐ๊ฐ 3๊ฐ, 6๊ฐ, 8๊ฐ ์ ๋๋ค.
์ต์ข ์ ์ผ๋ก ๋ชจ๋ ๋ ์ด์ด์ ์ฐ์ฐ ํ์๋ฅผ ๋ํ ๊ฐ์ ๋ฐํํฉ๋๋ค.
speed
ํจ์ ์ด๋ฆ: speed ์ ๋ ฅ:
cfgfile: ์ค์ ํ์ผ ๊ฒฝ๋ก
tics: ๋ฐ๋ณต ํ์. ๊ธฐ๋ณธ๊ฐ์ 1000.
๋์:
-m์ฃผ์ด์ง ์ค์ ํ์ผ(cfgfile)์ ํ์ฑํ์ฌ ๋คํธ์ํฌ๋ฅผ ์์ฑํ๊ณ , ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ํ ๋ฐ๋ณต ํ์(tics)๋งํผ ๋คํธ์ํฌ์ ์ ๋ ฅ์ ์ฃผ์ด ์์ธก์ ์ํํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ํ ์๊ฐ๊ณผ ๋ถ๋ ์์์ ์ฐ์ฐ ํ์(Floating Point Operations)๋ฅผ ๊ณ์ฐํ์ฌ ์ถ๋ ฅํฉ๋๋ค.
์ค๋ช :
์ด ํจ์๋ ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ํ ๋ฐ๋ณต ํ์๋งํผ ๋คํธ์ํฌ๋ฅผ ์คํํ์ฌ ์ฒ๋ฆฌ ์๋์ ์ฐ์ฐ๋(FLOPS)์ ์ถ๋ ฅํฉ๋๋ค.
๋จผ์ , ์ค์ ํ์ผ(cfgfile)์ ํ์ฑํ์ฌ ๋คํธ์ํฌ๋ฅผ ์์ฑํ ๋ค์, ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ญ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๋ฐ๋ณต ํ์(tics)๋งํผ ๋คํธ์ํฌ์ ์ ๋ ฅ์ ์ฃผ์ด ์์ธก์ ์ํํฉ๋๋ค. ์ด ๋, ์ฒ๋ฆฌ์ ๊ฑธ๋ฆฐ ์๊ฐ๊ณผ ๋ถ๋ ์์์ ์ฐ์ฐ ํ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์ด ์ ๋ณด๋ค์ ์ถ๋ ฅํฉ๋๋ค. ์ถ๋ ฅ ์ ๋ณด์๋ ์ด ์ํ ์๊ฐ, ๋ถ๋ ์์์ ์ฐ์ฐ ํ์, FLOPS, ์ฒ๋ฆฌ ์๋(sec/eval), ์ฒ๋ฆฌ ์๋(Hz)๊ฐ ํฌํจ๋ฉ๋๋ค.
operations
ํจ์ ์ด๋ฆ: operations
์ ๋ ฅ:
cfgfile (๋ฌธ์์ด ํฌ์ธํฐ): ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
๋์:
์ฃผ์ด์ง ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ์ ํ์ฑํ์ฌ ํด๋น ๋คํธ์ํฌ๊ฐ ์ํํ๋ ์ด ๋ถ๋ ์์์ ์ฐ์ฐ ํ์๋ฅผ ๊ณ์ฐํ๊ณ ์ถ๋ ฅํฉ๋๋ค.
์ค๋ช :
gpu_index๋ฅผ -1๋ก ์ด๊ธฐํํฉ๋๋ค.
์ฃผ์ด์ง cfgfile์ ํ์ฑํ์ฌ ๋คํธ์ํฌ๋ฅผ ์์ฑํฉ๋๋ค.
numops ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ๋คํธ์ํฌ๊ฐ ์ํํ๋ ์ด ๋ถ๋ ์์์ ์ฐ์ฐ ํ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
๊ณ์ฐ๋ ๋ถ๋ ์์์ ์ฐ์ฐ ํ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ถ๋ ฅํ ๋, ๋จ์๋ฅผ 10์ต(Billion)์ผ๋ก ๋๋์ด GFLOPs(Giga Floating Point Operations Per Second) ๋จ์๋ก ์ถ๋ ฅํฉ๋๋ค.
oneoff
ํจ์ ์ด๋ฆ: oneoff
์ ๋ ฅ:
cfgfile (char*): ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
weightfile (char*): ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก (์ต์ )
outfile (char*): ์ ์ฅํ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
๋์:
์ฃผ์ด์ง ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ(cfgfile)์ ํ์ฑํ์ฌ ๋คํธ์ํฌ(net)๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ค์น๋ฅผ ์ด๊ธฐํํ ํ ์ผํ์ฑ(one-off)์ผ๋ก ํ๋ จ์ํจ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ค.
์ด ๊ณผ์ ์์ ๊ฐ์ค์น ํ์ผ(weightfile)์ ์ ๊ณตํ๋ฉด ํด๋น ํ์ผ์์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํ์ฌ ์ด๊ธฐํํ๊ณ , outfile์์ ์ง์ ํ ๊ฒฝ๋ก์ ์ต์ข ๊ฐ์ค์น ํ์ผ์ ์ ์ฅํ๋ค.
์ค๋ช :
์ฃผ์ด์ง ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ(cfgfile)์ ํ์ฑํ์ฌ ๋คํธ์ํฌ(net)๋ฅผ ์์ฑํ๋ค.
oldn์ net์ ๋ค์์ ๋ ๋ฒ์งธ ๋ ์ด์ด์ ๋ด๋ฐ ์์ด๋ฉฐ, c๋ ์ฑ๋ ์์ด๋ค. ์ด ๋ ์ด์ด์ ๊ฐ์ค์น์ ํธํฅ์ 0.1๊ณผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
net์ ๋ค์์ ๋ ๋ฒ์งธ ๋ ์ด์ด์ ๋ด๋ฐ ์๋ฅผ 11921๋ก ๋ณ๊ฒฝํ๋ค.
net์ ๋ค์์ ๋ ๋ฒ์งธ ๋ ์ด์ด์ ๊ฐ์ค์น์ ํธํฅ์ ๋ํ ํฌ์ธํฐ๋ฅผ ๊ฐ๊ฐ 5์ 5*c๋งํผ ์ฎ๊ธด๋ค.
weightfile์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ํด๋น ํ์ผ์์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํ์ฌ ์ด๊ธฐํํ๋ค.
๊ฐ์ค์น์ ํธํฅ์ ๋ํ ํฌ์ธํฐ๋ฅผ ์๋ ์์น๋ก ๋๋๋ฆฐ๋ค.
net์ ๋ค์์ ๋ ๋ฒ์งธ ๋ ์ด์ด์ ๋ด๋ฐ ์๋ฅผ ์ด์ ๊ฐ์ผ๋ก ๋ณต์ํ๋ค.
l์ net์ ๋ค์์ ๋ ๋ฒ์งธ ๋ ์ด์ด์ด๋ฉฐ, ์ด ๋ ์ด์ด์ 1/3 ์ง์ ๊ณผ 2/3 ์ง์ ์์์ ํธํฅ๊ณผ ๊ฐ์ค์น ๊ฐ์ ์๋ก ๋ณต์ฌํ๋ค.
net->seen ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
์ต์ข ๊ฐ์ค์น ํ์ผ์ outfile์์ ์ง์ ํ ๊ฒฝ๋ก์ ์ ์ฅํ๋ค.
oneoff2
ํจ์ ์ด๋ฆ: oneoff2
์ ๋ ฅ:
char *cfgfile (๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก)
char *weightfile (๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก)
char *outfile (์ ์ฅํ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก)
int l (๊ฐ์ค์น๋ฅผ ๋ก๋ํ ๋ ์ด์ด ์ธ๋ฑ์ค)
๋์:
์ฃผ์ด์ง ๊ตฌ์ฑ ํ์ผ(cfgfile)์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค๊ณ , ์ฃผ์ด์ง ๊ฐ์ค์น ํ์ผ(weightfile)์์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ก๋ํ ๊ฐ์ค์น ์ค l ๋ฒ์งธ ๋ ์ด์ด๊น์ง์ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ฃผ์ด์ง ํ์ผ(outfile)์ ์ ์ฅํฉ๋๋ค.
์ค๋ช :
parse_network_cfg ํจ์๋ ์ฃผ์ด์ง ๊ตฌ์ฑ ํ์ผ(cfgfile)์์ ๋คํธ์ํฌ๋ฅผ ๋ง๋ญ๋๋ค.
load_weights_upto ํจ์๋ ์ฃผ์ด์ง ๊ฐ์ค์น ํ์ผ(weightfile)์์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํฉ๋๋ค. ๋ง์ง๋ง ์ธ์๋ก ์ง์ ํ ๋ ์ด์ด๊น์ง์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํฉ๋๋ค.
save_weights_upto ํจ์๋ ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ฃผ์ด์ง ํ์ผ(outfile)์ ์ ์ฅํฉ๋๋ค. ๋ง์ง๋ง ์ธ์๋ก ์ง์ ํ ๋ ์ด์ด๊น์ง์ ๊ฐ์ค์น๋ฅผ ์ ์ฅํฉ๋๋ค.
partial
ํจ์ ์ด๋ฆ: partial
์ ๋ ฅ:
char *cfgfile: ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
char *weightfile: ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
char *outfile: ์ ์ฅ๋ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
int max: ์ ์ฅํ ๋ ์ด์ด์ ์ต๋ ์ธ๋ฑ์ค
๋์:
cfgfile๊ณผ weightfile์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ก๋ํ๋ค.
max ๋ ์ด์ด๊น์ง์ ๊ฐ์ค์น๋ง ์ ์ฅํ์ฌ outfile์ ์ ์ฅํ๋ค.
์ค๋ช :
์ฃผ์ด์ง cfgfile๊ณผ weightfile์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ก๋ํ ํ, max ๋ ์ด์ด๊น์ง์ ๊ฐ์ค์น๋ง ์ ์ฅํ์ฌ outfile์ ์ ์ฅํ๋ ํจ์์ด๋ค.
์ด๋, gpu_index๋ -1๋ก ์ค์ ๋๋ฉฐ, load_network ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ก๋ํ๊ณ , save_weights_upto ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ถ ๋ ์ด์ด์ ๊ฐ์ค์น๋ง ์ ์ฅํ๋ค.
print_weights
ํจ์ ์ด๋ฆ: print_weights
์ ๋ ฅ:
char *cfgfile (๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก)
char *weightfile (๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก)
int n (์ถ๋ ฅํ ๋ ์ด์ด ๋ฒํธ)
๋์:
์ฃผ์ด์ง ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ๊ณผ ๊ฐ์ค์น ํ์ผ์ ๋ก๋ํ๊ณ , ์ง์ ๋ ๋ ์ด์ด์ ๊ฐ์ค์น๋ฅผ ์ถ๋ ฅํ๋ ํจ์์ ๋๋ค.
์ถ๋ ฅ ํ์์ ํด๋น ๋ ์ด์ด์ ํฌ๊ธฐ์ ์ฑ๋ ์์ ๋ฐ๋ผ 2์ฐจ์ ๋ฐฐ์ด์ ํํ๋ก ์ถ๋ ฅํฉ๋๋ค.
์ค๋ช :
cfgfile: ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๋ฌธ์์ด ํฌ์ธํฐ์ ๋๋ค.
weightfile: ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ๋ฌธ์์ด ํฌ์ธํฐ์ ๋๋ค.
n: ์ถ๋ ฅํ ๋ ์ด์ด์ ๋ฒํธ๋ฅผ ์ง์ ํ๋ ์ ์๊ฐ์ ๋๋ค.
net: ์ฃผ์ด์ง cfgfile๊ณผ weightfile์ ์ด์ฉํด ๋ก๋ํ ๋คํธ์ํฌ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ ๋๋ค.
l: ์ง์ ๋ ๋ ์ด์ด๋ฅผ ๊ฐ๋ฆฌํค๋ layer ๊ตฌ์กฐ์ฒด์ ๋๋ค.
i, j: ๋ฐ๋ณต๋ฌธ์์ ์ฌ์ฉ๋๋ ์ ์๊ฐ์ผ๋ก, l์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ์ค์น ๋ฐฐ์ด์ ์ถ๋ ฅํฉ๋๋ค.
์ถ๋ ฅ ํ์: ์ง์ ๋ ๋ ์ด์ด์ ๊ฐ์ค์น๋ฅผ ํด๋น ๋ ์ด์ด์ ํฌ๊ธฐ์ ์ฑ๋ ์์ ๋ฐ๋ผ 2์ฐจ์ ๋ฐฐ์ด ํํ๋ก ์ถ๋ ฅํฉ๋๋ค.
rescale_net
ํจ์ ์ด๋ฆ: rescale_net
์ ๋ ฅ:
cfgfile: char ํฌ์ธํฐ ํ์. YOLO ๋ชจ๋ธ์ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก.
weightfile: char ํฌ์ธํฐ ํ์. YOLO ๋ชจ๋ธ์ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก.
outfile: char ํฌ์ธํฐ ํ์. ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ ํ์ผ ๊ฒฝ๋ก.
๋์:
์ฃผ์ด์ง YOLO ๋ชจ๋ธ์ ๊ตฌ์ฑ ํ์ผ๊ณผ ๊ฐ์ค์น ํ์ผ์ ๋ถ๋ฌ์์, ๊ฐ์ฅ ์ฒ์ ๋ฐ๊ฒฌ๋ ์ปจ๋ณผ๋ฃจ์ ๋ ์ด์ด์ ๊ฐ์ค์น๋ฅผ 2๋ฐฐ๋ก ํ์ฅํ๊ณ -0.5๋ฅผ ๋บ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ค.
์ค๋ช :
์ด ํจ์๋ YOLO ๋ชจ๋ธ์ ๊ตฌ์ฑ ํ์ผ๊ณผ ๊ฐ์ค์น ํ์ผ์ ๋ถ๋ฌ์จ ํ, ๊ฐ์ฅ ์ฒ์ ๋ฐ๊ฒฌ๋ ์ปจ๋ณผ๋ฃจ์ ๋ ์ด์ด์ ๊ฐ์ค์น๋ฅผ rescaleํ๋ ์์ ์ ์ํํ๋ค.
rescale_weights() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ค์น๋ฅผ 2๋ฐฐ๋ก ํ์ฅํ๊ณ -0.5๋ฅผ ๋บ๋ค.
๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ save_weights() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ํ์ผ ๊ฒฝ๋ก์ ์ ์ฅ๋๋ค.
rgbgr_net
ํจ์ ์ด๋ฆ: rgbgr_net
์ ๋ ฅ:
cfgfile (char*): ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
weightfile (char*): ๋ชจ๋ธ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
outfile (char*): ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ ํ์ผ ๊ฒฝ๋ก
๋์:
์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ๊ณผ ๊ฐ์ค์น ํ์ผ์ ๋ก๋ํ์ฌ, CONVOLUTIONAL ๋ ์ด์ด์์ ์ฌ์ฉ๋๋ ๊ฐ์ค์น๋ค์ RGB ์ด๋ฏธ์ง ์ฑ๋์์ BGR ์ด๋ฏธ์ง ์ฑ๋๋ก ๋ณ๊ฒฝํฉ๋๋ค.
๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅ๋ฐ์ ์ ์ฅํฉ๋๋ค.
์ค๋ช :
RGB ์ด๋ฏธ์ง์ BGR ์ด๋ฏธ์ง๋ ์์ ์ฑ๋์ ์์๊ฐ ์๋ก ๋ค๋ฆ ๋๋ค.
๋ฐ๋ผ์ RGB ์ด๋ฏธ์ง ์ฑ๋๋ก ํ์ต๋ ๋ชจ๋ธ์ BGR ์ด๋ฏธ์ง ์ฑ๋๋ก ๋ณ๊ฒฝํ์ฌ ์ฌ์ฉํ ๋๋ ๊ฐ์ค์น๋ฅผ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ด ํจ์๋ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ชจ๋ธ์์ CONVOLUTIONAL ๋ ์ด์ด์์ ์ฌ์ฉ๋๋ ๊ฐ์ค์น๋ค์ RGB์์ BGR๋ก ๋ณ๊ฒฝํ๊ณ , ๋ณ๊ฒฝ๋ ๊ฐ์ค์น๋ฅผ ์ง์ ๋ ํ์ผ ๊ฒฝ๋ก์ ์ ์ฅํฉ๋๋ค.
reset_normalize_net
ํจ์ ์ด๋ฆ: reset_normalize_net
์ ๋ ฅ:
cfgfile: char ํฌ์ธํฐ. ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก.
weightfile: char ํฌ์ธํฐ. ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก.
outfile: char ํฌ์ธํฐ. ์ถ๋ ฅ ํ์ผ ๊ฒฝ๋ก.
๋์:
์ ๋ ฅ๋ cfgfile๊ณผ weightfile์ ์ด์ฉํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ก๋ํ๋ค.
๋ชจ๋ ๋ ์ด์ด๋ฅผ ๋ฐ๋ณตํ๋ฉด์, CONVOLUTIONAL ๋ ์ด์ด์ด๊ณ batch_normalize๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ, denormalize_convolutional_layer() ํจ์๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ค์น์ ์ค์ผ์ผ, ํ๊ท , ๋ถ์ฐ ๊ฐ์ ์๋ ๊ฐ์ผ๋ก ๋ณต์ํ๋ค.
CONNECTED ๋ ์ด์ด์ด๊ณ batch_normalize๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ, denormalize_connected_layer() ํจ์๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ค์น์ ์ค์ผ์ผ, ํ๊ท , ๋ถ์ฐ ๊ฐ์ ์๋ ๊ฐ์ผ๋ก ๋ณต์ํ๋ค.
GRU ๋ ์ด์ด์ด๊ณ batch_normalize๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ, ์ ๋ ฅ ๊ฒ์ดํธ, ์์ด๋ฒ๋ฆฌ๋ ๊ฒ์ดํธ, ์ํ ๊ฒ์ดํธ์ ๊ฐ์ค์น์ ์ค์ผ์ผ, ํ๊ท , ๋ถ์ฐ ๊ฐ์ ๋ณต์ํ๋ค.
save_weights() ํจ์๋ฅผ ํธ์ถํ์ฌ outfile ๊ฒฝ๋ก์ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ค.
์ค๋ช :
์ด ํจ์๋ YOLOv3 ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ์์ ์ฌ์ฉ๋๋ ํจ์ ์ค ํ๋๋ก, ๋คํธ์ํฌ์ ๊ฐ์ค์น๋ฅผ denormalizeํ๋ ํจ์์ด๋ค.
๊ฐ ๋ ์ด์ด์ ๊ฐ์ค์น์ ์ค์ผ์ผ, ํ๊ท , ๋ถ์ฐ ๊ฐ์ denormalize_convolutional_layer() ํจ์, denormalize_connected_layer() ํจ์, denormalize_gru_layer() ํจ์๋ฅผ ์ด์ฉํ์ฌ ์๋ ๊ฐ์ผ๋ก ๋ณต์ํ๊ณ , ์ด๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค.
์ด ํจ์๋ ๋คํธ์ํฌ๋ฅผ fine-tuningํ ๋, batch_normalize ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ๋ฑ์ ํ์ฉ๋๋ค.
normalize_layer
ํจ์ ์ด๋ฆ: normalize_layer
์ ๋ ฅ:
layer l (๋ ์ด์ด ๊ตฌ์กฐ์ฒด)
int n (๋ ์ด์ด์ ์ถ๋ ฅ ์ฑ๋ ๊ฐ์)
๋์:
์ ๋ ฅ๋ ๋ ์ด์ด ๊ตฌ์กฐ์ฒด์ ๋ํด ๋ฐฐ์น ์ ๊ทํ(batch normalization)๋ฅผ ์ํํ๋ ํจ์์ด๋ค.
๋ฐฐ์น ์ ๊ทํ๋ฅผ ์ํด ์ค์ผ์ผ(scales), ์ด๋(rolling mean), ๋ถ์ฐ(rolling variance)์ ์ ์ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ , ์ค์ผ์ผ์ 1๋ก ์ด๊ธฐํํ๋ค.
์ค๋ช :
๋ฐฐ์น ์ ๊ทํ๋ ์ธ๊ณต ์ ๊ฒฝ๋ง์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ์ ๊ท ๋ถํฌ๋ก ๋ง๋ค์ด ํ์ต์ ์์ ์ฑ๊ณผ ์๋ ด ์๋๋ฅผ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด ํจ์๋ ๋จ์ผ ๋ ์ด์ด์ ๋ํ ๋ฐฐ์น ์ ๊ทํ๋ฅผ ์ํํ๋ค.
์ค์ผ์ผ์ ์ถ๋ ฅ ์ฑ๋์ ๊ฐ์(n)๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ํ ๋นํ๊ณ 1๋ก ์ด๊ธฐํํ๋ค.
์ด๋๊ณผ ๋ถ์ฐ์ ์ค์ผ์ผ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ถ๋ ฅ ์ฑ๋์ ๊ฐ์(n)๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ํ ๋นํ๊ณ 0์ผ๋ก ์ด๊ธฐํํ๋ค. ์ดํ ํ์ต ๊ณผ์ ์์ ์ด๋๊ณผ ๋ถ์ฐ ๊ฐ์ด ์ ๋ฐ์ดํธ๋๋ค.
l.batch_normalize ๋ณ์๋ฅผ 1๋ก ์ค์ ํ์ฌ ํด๋น ๋ ์ด์ด๊ฐ ๋ฐฐ์น ์ ๊ทํ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ํ๋ค.
์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋ ๋ ์ด์ด ๊ตฌ์กฐ์ฒด l์ ๋ฐํํ๋ค.
normalize_net
ํจ์ ์ด๋ฆ: normalize_net
์ ๋ ฅ:
cfgfile (char *): ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
weightfile (char *): ๋คํธ์ํฌ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
outfile (char *): ์ ์ฅ๋ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
๋์:
๋คํธ์ํฌ๋ฅผ ๋ก๋ํ๊ณ , ๊ฐ ์ธต์์ ๋ฐฐ์น ์ ๊ทํ๊ฐ ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ ๋ฐฐ์น ์ ๊ทํ ์ธต์ ์ถ๊ฐํ์ฌ ๋คํธ์ํฌ๋ฅผ ์ ๊ทํํ๊ณ , ๋ชจ๋ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ค.
์ค๋ช :
normalize_layer() ํจ์๋ ์ ๋ ฅ ์ธต์ ์ ๊ทํํ๋ ํจ์์ด๋ค. ์ด ํจ์๋ l์ ๋ฐฐ์น ์ ๊ทํ ํ๋๊ทธ๋ฅผ ์ค์ ํ๊ณ , ์ค์ผ์ผ์ ๋ชจ๋ 1๋ก ์ด๊ธฐํํ ๋ค์, rolling_mean๊ณผ rolling_variance ๋ฐฐ์ด์ ํ ๋นํ๋ค.
์ด ํจ์๋ ๋ณ๊ฒฝ๋ l์ ๋ฐํํ๋ค.
์ด normalize_net() ํจ์๋ ๋คํธ์ํฌ๋ฅผ ๋ก๋ํ๊ณ ๊ฐ ์ธต์ ๊ฒ์ฌํ์ฌ ๋ฐฐ์น ์ ๊ทํ๊ฐ ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ normalize_layer() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธต์ ์ ๊ทํํ๋ค.
GRU ์ธต์ ๋ํด์๋, ๊ฐ๊ฐ์ ์ฐ์ฐ์ ์ํด ์ ๋ ฅ ์ธต๊ณผ ์ํ ์ธต์ ์ ๊ทํํ๋ค. ๋ง์ง๋ง์ผ๋ก, save_weights() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทํ๋ ๋คํธ์ํฌ์ ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ค.
statistics_net
ํจ์ ์ด๋ฆ: statistics_net
์ ๋ ฅ:
cfgfile: ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด ํฌ์ธํฐ
weightfile: ํ์ต๋ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด ํฌ์ธํฐ
๋์:
์ง์ ๋ ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์ผ(cfgfile)๊ณผ ๊ฐ์ค์น ํ์ผ(weightfile)์ ๋ก๋ํ์ฌ ๋คํธ์ํฌ๋ฅผ ์์ฑํ๋ค.
์์ฑ๋ ๋คํธ์ํฌ์ ๊ฐ ๋ ์ด์ด๋ฅผ ๋ฐ๋ณตํ๋ฉด์,
ํ์ฌ ๋ ์ด์ด๊ฐ CONNECTED ๋ ์ด์ด์ด๊ณ batch_normalize ์์ฑ์ด True์ธ ๊ฒฝ์ฐ, statistics_connected_layer() ํจ์๋ฅผ ํธ์ถํ์ฌ ์ฐ๊ฒฐ๋ ๋ ์ด์ด์ ํต๊ณ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ฌ ๋ ์ด์ด๊ฐ GRU ๋ ์ด์ด์ด๊ณ batch_normalize ์์ฑ์ด True์ธ ๊ฒฝ์ฐ, ์ฐ๊ฒฐ๋ ๋ ์ด์ด์ ๊ฐ๊ฐ์ input_z_layer, input_r_layer, input_h_layer, state_z_layer, state_r_layer, state_h_layer์ ๋ํด statistics_connected_layer() ํจ์๋ฅผ ํธ์ถํ์ฌ ํต๊ณ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค.
๋ชจ๋ ๋ ์ด์ด์ ํต๊ณ ์ ๋ณด ์ถ๋ ฅ์ ๋ง์น ํ, ํจ์ ์คํ ์ข ๋ฃํ๋ค.
์ค๋ช :
์ง์ ๋ ๋คํธ์ํฌ(cfgfile์ weightfile)๋ฅผ ๋ก๋ํ์ฌ ์์ฑ๋ ๋คํธ์ํฌ์์ ๊ฐ ๋ ์ด์ด์ ํต๊ณ ์ ๋ณด(ํ๊ท , ๋ถ์ฐ, ํ์คํธ์ฐจ ๋ฑ)๋ฅผ ๊ณ์ฐํ๊ณ ์ถ๋ ฅํ๋ ํจ์์ด๋ค.
์ถ๋ ฅ๋๋ ํต๊ณ ์ ๋ณด๋ ์ฐ๊ฒฐ๋ ๋ ์ด์ด์ ์ ๋ ฅ๊ฐ๊ณผ ๊ฐ์ค์น์ ๋ถํฌ๋ฅผ ํ์ธํ๋ ๋ฐ ์ ์ฉํ๋ค.
denormalize_net
ํจ์ ์ด๋ฆ: denormalize_net
์ ๋ ฅ:
char *cfgfile: ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
char *weightfile: ํ์ต๋ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
char *outfile: ๊ฐ์ค์น๋ฅผ ์ ์ฅํ ํ์ผ ๊ฒฝ๋ก
๋์:
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ๊ณผ ํ์ต๋ ๊ฐ์ค์น ํ์ผ์ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ๋ก๋ํ๊ณ , ๊ฐ ๋ ์ด์ด์ batch normalization์ ๋๋๋ฆฐ ํ, ๊ฐ์ค์น๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค.
์ค๋ช :
์ฃผ์ด์ง cfgfile๊ณผ weightfile์ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ๋ก๋ํ๋ค.
๋ชจ๋ ๋ ์ด์ด์ ๋ํด์, l.type์ด CONVOLUTIONAL ๋๋ DECONVOLUTIONAL์ธ ๊ฒฝ์ฐ์๋ batch normalization์ ๋๋๋ฆฐ๋ค. ์ด๋ฅผ ์ํด denormalize_convolutional_layer ํจ์๋ฅผ ํธ์ถํ๊ณ , l.batch_normalize๋ฅผ 0์ผ๋ก ์ค์ ํ๋ค.
l.type์ด CONNECTED์ธ ๊ฒฝ์ฐ์๋ denormalize_connected_layer ํจ์๋ฅผ ํธ์ถํ๊ณ , l.batch_normalize๋ฅผ 0์ผ๋ก ์ค์ ํ๋ค.
l.type์ด GRU์ธ ๊ฒฝ์ฐ์๋ input_z_layer, input_r_layer, input_h_layer, state_z_layer, state_r_layer, state_h_layer ๊ฐ๊ฐ์ ๋ํด์ denormalize_connected_layer ํจ์๋ฅผ ํธ์ถํ๊ณ , ๊ฐ ๋ ์ด์ด์ batch_normalize๋ฅผ 0์ผ๋ก ์ค์ ํ๋ค.
์ฒ๋ฆฌ๊ฐ ๋๋ ๋ชจ๋ธ ๊ฐ์ค์น๋ฅผ outfile์ ์ ์ฅํ๋ค.
mkimg
ํจ์ ์ด๋ฆ: mkimg
์ ๋ ฅ:
cfgfile: YOLO ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
weightfile: ํ์ต๋ YOLO ๋ชจ๋ธ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
h: ์์ฑํ ์ด๋ฏธ์ง ๋์ด
w: ์์ฑํ ์ด๋ฏธ์ง ๋๋น
num: ์์ฑํ ์ด๋ฏธ์ง ๊ฐ์
prefix: ์์ฑ๋ ์ด๋ฏธ์ง ํ์ผ๋ช ์ ์ถ๊ฐ๋ prefix ๋ฌธ์์ด
๋์:
์ฃผ์ด์ง YOLO ๋ชจ๋ธ์ ์ฒซ๋ฒ์งธ ๋ ์ด์ด์ ๊ฐ์ค์น๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ํจ์์ ๋๋ค.
์์ฑํ ์ด๋ฏธ์ง ๊ฐ์(num)๋งํผ ๋ฐ๋ณตํ๋ฉด์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋๋คํ ๋ฐฐ์น์ ์๊ณก์ ์ ์ฉํ์ฌ ์์ฑํฉ๋๋ค.
์์ฑ๋ ์ด๋ฏธ์ง๋ prefix์ ์ด๋ฏธ์ง ๋ฒํธ๋ฅผ ์กฐํฉํ์ฌ ํ์ผ๋ช ์ ๋ง๋ค๊ณ ์ ์ฅํฉ๋๋ค.
์ค๋ช :
์ด ํจ์๋ YOLO ๋ชจ๋ธ์ ๊ฐ์ค์น๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ํจ์์ ๋๋ค. ๋จผ์ ์ ๋ ฅ๋ฐ์ cfgfile๊ณผ weightfile์ ์ด์ฉํ์ฌ YOLO ๋ชจ๋ธ์ ๋ก๋ํฉ๋๋ค.
๊ทธ ๋ค์ ๋ชจ๋ธ์ ์ฒซ๋ฒ์งธ ๋ ์ด์ด์ ๊ฐ์ค์น๋ฅผ ๊ฐ์ ธ์ ims์ ์ ์ฅํฉ๋๋ค.
n์ ims์ ์์ ๊ฐ์๋ฅผ ๋ํ๋ ๋๋ค.
๊ทธ ํ, num๋งํผ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ฉด์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋๋คํ ๋ฐฐ์น์ ์๊ณก์ ์ ์ฉํฉ๋๋ค.
์์ฑ๋ ์ด๋ฏธ์ง๋ prefix์ ์ด๋ฏธ์ง ๋ฒํธ๋ฅผ ์กฐํฉํ์ฌ ํ์ผ๋ช ์ ๋ง๋ค๊ณ ์ ์ฅํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํฉ๋๋ค.
visualize
ํจ์ ์ด๋ฆ: visualize
์ ๋ ฅ:
cfgfile: YOLO ๋ชจ๋ธ ๊ตฌ์ฑ ํ์ผ ๊ฒฝ๋ก
weightfile: ํ์ต๋ YOLO ๋ชจ๋ธ์ ๊ฐ์ค์น ํ์ผ ๊ฒฝ๋ก
๋์:
์ ๋ ฅ๋ YOLO ๋ชจ๋ธ์ ๋ถ๋ฌ์์ ์๊ฐํํฉ๋๋ค.
์๊ฐํ๋ ๋ชจ๋ธ์ graph.png ํ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
์ค๋ช :
์ ๋ ฅ๋ cfgfile๊ณผ weightfile ๊ฒฝ๋ก์์ YOLO ๋ชจ๋ธ์ ๋ถ๋ฌ์ ์๊ฐํํฉ๋๋ค.
์๊ฐํ๋ ๋ชจ๋ธ์ ๋ ์ด์ด, ํํฐ, ์ฐจ์ ๋ฑ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ทธ๋ํ๋ก ๋ํ๋ด์ด ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ๋์ต๋๋ค.
main
ํจ์ ์ด๋ฆ: main
์ ๋ ฅ:
int argc, char **argv (์ธ์์ ๊ฐ์์ ๊ฐ)
๋์:
argv[1]์ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํ๋ ๋ถ๊ธฐ๋ฌธ
์ค๋ช :
์ ๋ ฅ์ผ๋ก ๋ฐ์ ์ธ์์ ๊ฐ์์ ๊ฐ๋ค์ ๋ํ๋ด๋ int argc, char **argv๋ฅผ ๋ฐ๋๋ค.
argv[1]์ ํด๋นํ๋ ๊ฐ์ผ๋ก ๋ถ๊ธฐํ์ฌ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํ๋ค.
์๋๋ argv[1]์ ๋ฐ๋ฅธ ํธ์ถํ ํจ์๋ค์ด๋ค.
"average": average(argc, argv) ํจ์ ํธ์ถ
"yolo": run_yolo(argc, argv) ํจ์ ํธ์ถ
"super": run_super(argc, argv) ํจ์ ํธ์ถ
"lsd": run_lsd(argc, argv) ํจ์ ํธ์ถ
"detector": test_detector ํจ์ ํธ์ถ
"detect": test_detector ํจ์ ํธ์ถ
"cifar": run_cifar(argc, argv) ํจ์ ํธ์ถ
"go": run_go(argc, argv) ํจ์ ํธ์ถ
"rnn": run_char_rnn(argc, argv) ํจ์ ํธ์ถ
"coco": run_coco(argc, argv) ํจ์ ํธ์ถ
"classify": predict_classifier ํจ์ ํธ์ถ
"classifier": run_classifier(argc, argv) ํจ์ ํธ์ถ
"regressor": run_regressor(argc, argv) ํจ์ ํธ์ถ
"isegmenter": run_isegmenter(argc, argv) ํจ์ ํธ์ถ
"segmenter": run_segmenter(argc, argv) ํจ์ ํธ์ถ
"art": run_art(argc, argv) ํจ์ ํธ์ถ
"tag": run_tag(argc, argv) ํจ์ ํธ์ถ
"3d": composite_3d ํจ์ ํธ์ถ
"test": test_resize ํจ์ ํธ์ถ
"nightmare": run_nightmare(argc, argv) ํจ์ ํธ์ถ
"rgbgr": rgbgr_net ํจ์ ํธ์ถ
"reset": reset_normalize_net ํจ์ ํธ์ถ
"denormalize": denormalize_net ํจ์ ํธ์ถ
"statistics": statistics_net ํจ์ ํธ์ถ
"normalize": normalize_net ํจ์ ํธ์ถ
"rescale": rescale_net ํจ์ ํธ์ถ
"ops": operations ํจ์ ํธ์ถ
"speed": speed ํจ์ ํธ์ถ
"oneoff": oneoff ํจ์ ํธ์ถ
"oneoff2": oneoff2 ํจ์ ํธ์ถ
"print": print_weights ํจ์ ํธ์ถ
"partial": partial ํจ์ ํธ์ถ
"visualize": visualize ํจ์ ํธ์ถ
"mkimg": mkimg ํจ์ ํธ์ถ
"imtest": test_resize ํจ์ ํธ์ถ
์ ๋ ฅ์ด ์์์ ์ธ๊ธํ ๊ฒฝ์ฐ๊ฐ ์๋ ๊ฒฝ์ฐ, ์๋ฌ ๋ฉ์์ง ์ถ๋ ฅ
ํจ์์ ๋ฐํ๊ฐ์ 0์ด๋ค.
Last updated
Was this helpful?