์ฐธ์กฐ ultralytics/utils/callbacks/dvc.py
์ฐธ๊ณ
์ด ํ์ผ์ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/callbacks/dvc .py์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ํ ๋ฆฌํ์คํธ ๐ ๏ธ ์ ๊ธฐ์ฌํ์ฌ ๋ฌธ์ ํด๊ฒฐ์ ๋์์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค ๐!
ultralytics.utils.callbacks.dvc._log_images(path, prefix='')
DVCLive๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ์ ์ ๋์ฌ์ ํจ๊ป ์ง์ ๋ ๊ฒฝ๋ก์ ์ด๋ฏธ์ง๋ฅผ ๋ก๊น ํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/callbacks/dvc.py
ultralytics.utils.callbacks.dvc._log_plots(plots, prefix='')
์ด์ ์ ์ฒ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ ๊ต์ก ์งํ ์ํฉ์ ๋ํ ํ๋กฏ ์ด๋ฏธ์ง๋ฅผ ๋ก๊ทธ์ ๊ธฐ๋กํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/callbacks/dvc.py
ultralytics.utils.callbacks.dvc._log_confusion_matrix(validator)
DVCLive๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ์ ๋ํ ํผ๋ ํ๋ ฌ์ ๊ธฐ๋กํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/callbacks/dvc.py
ultralytics.utils.callbacks.dvc.on_pretrain_routine_start(trainer)
์ฌ์ ํธ๋ ์ด๋ ๋ฃจํด ์ค์ ํธ๋ ์ด๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ DVCLive ๋ก๊ฑฐ๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/callbacks/dvc.py
ultralytics.utils.callbacks.dvc.on_pretrain_routine_end(trainer)
์ฌ์ ํ๋ จ ๋ฃจํด์ด ๋๋ ๋ ํ๋ จ ๊ณผ์ ๊ณผ ๊ด๋ จ๋ ํ๋กฏ์ ๊ธฐ๋กํฉ๋๋ค.
ultralytics.utils.callbacks.dvc.on_train_start(trainer)
ultralytics.utils.callbacks.dvc.on_train_epoch_start(trainer)
๊ฐ ์ํฌํฌ์ ํธ๋ ์ด๋์ด ์์๋ ๋ ์ ์ญ ๋ณ์ _training_epoch ๊ฐ์ True๋ก ์ค์ ํฉ๋๋ค.
ultralytics.utils.callbacks.dvc.on_fit_epoch_end(trainer)
ํ์ต ์งํ์ ๋ชจ๋ธ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ๊ฐ ๋ง์ถค ๊ธฐ๊ฐ์ด ๋๋๋ฉด ๋ค์ ๋จ๊ณ๋ก ์งํํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/callbacks/dvc.py
ultralytics.utils.callbacks.dvc.on_train_end(trainer)
DVCLive๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ ํธ๋ ์ด๋ ์ข ๋ฃ ์ ์ต์์ ์งํ, ํ๋กฏ ๋ฐ ํผ๋ ๋งคํธ๋ฆญ์ค๋ฅผ ๊ธฐ๋กํฉ๋๋ค.