๋ชจ๋ธ์ ํ์ตํ ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์.
- Manual Search
- Grid Search
- Random Search
- Bayesian Optimization
- Non-Probabilistic
- Evolutionary Optimization
- Gradient-based Optimization
- Early Stopping
์ด ์ค Grid Search๋ฅผ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํ ๋ ํฌ์งํ ๋ฆฌ์. ์ฌ์ฉ์๋ ํ์ต ๊ฒฐ๊ณผ๋ฅผ Notion์์ ํ์ธํ๋ฉด ๋จ.
- Generate_config.py
ํ์ต์ ํ์ํ config.json ํ์ผ์ ์์ฑํ๋ ํจ์. ํ์ดํผ ํ๋ผ๋ฏธํฐ pool์ list, ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ ๋ก๊ทธ ๊ฒฝ๋ก ๋ฑ์ ์ด๊ธฐํํ์ฌ for๋ฌธ์ผ๋ก ๋ชจ๋ ๊ฒฝ์ฐ์ ์ ์์ฑ.
- train.py
Generate_config.py๋ฅผ ์คํํ์ฌ ์์ฑ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์์ฐจ์ ์ผ๋ก ํ์ต์ ํ๋ ์ฝ๋.
from modules import supervised as supervised
JSON_list = natsorted(glob("./json_list/*.json"))
for JSON in JSON_list:
config = json.load(open(JSON)) # ์์ฑ๋ ํ์ดํผ ํ๋ผ๋ฏธํฐ ๋ก๋.
print(JSON)
Experiment = supervised.Experiment_Model(**config) # ๋ก๋ํ ํ์ดํผ ํ๋ผ๋ฏธํฐ๋ก ์งํํ ์คํ ์ด๊ธฐํ.
Experiment.save_config(JSON) # ๋ก๊ทธ ๋๋ ํ ๋ฆฌ์ ๋ก๋ํ ํ์ดํผ ํ๋ผ๋ฏธํฐ config ์ ์ฅ.
Experiment.train_model() # ํ์ต ์์
Experiment.test_model() # ํ์ต ํ๊ฐ
Experiment.report_model() # ๋ณด๊ณ ์ ์์ฑ
Experiment.upload_notion() # ๋
ธ์
DB์ ํ์ต ๊ฒฐ๊ณผ ์
๋ก๋.- test.py
Threshold๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋, ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ค์ ํ๊ฐ๋ฅผ ํด๋ณด๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ์ฝ๋.
- test_all.py
๋ก๊ทธ ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ ๋ชจ๋ ํ์ต๋ ๋ชจ๋ธ๋ค์ ๋ค์ ํ๊ฐํ ๋ ์ฌ์ฉํ๋ ์ฝ๋.
- remove_log.py
ํ์ต์ด ์งํ๋์ง ์๊ณ ๋ก๊ทธ ๋๋ ํ ๋ฆฌ๋ง ์์ฑ๋์ด ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์๋ ํ์ต ๋ก๊ทธ๋ค์ ์ญ์ ํ๋ ์ฝ๋.