์ฐธ์กฐ ultralytics/utils/files.py
์ฐธ๊ณ
์ด ํ์ผ์ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/files .py์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ํ ๋ฆฌํ์คํธ (๐ ๏ธ) ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ๋์์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค ๐!
ultralytics.utils.files.WorkingDirectory
๋ฒ ์ด์ค: ContextDecorator
์ฌ์ฉ๋ฒ: ์ํน๋๋ ํ ๋ฆฌ(dir) ๋ฐ์ฝ๋ ์ดํฐ ๋๋ 'with ์ํน๋๋ ํ ๋ฆฌ(dir):' ์ปจํ ์คํธ ๊ด๋ฆฌ์.
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
__enter__()
__exit__(exc_type, exc_val, exc_tb)
__init__(new_dir)
ultralytics.utils.files.spaces_in_path(path)
์ปจํ ์คํธ ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆ์ ๊ณต๋ฐฑ์ด ํฌํจ๋ ๊ฒฝ๋ก๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ด ํฌํจ๋ ๊ฒฝ์ฐ ๊ณต๋ฐฑ์ ๋ฐ์ค๋ก ๋ฐ๊พธ๊ณ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฒฝ๋ก๋ก ๋ณต์ฌํ ๋ค์ ์ปจํ ์คํธ ์ฝ๋ ๋ธ๋ก์ ์คํํ ๋ค์ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์๋ ์์น๋ก ๋ค์ ๋ณต์ฌํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
path |
str | Path
|
์๋ ๊ฒฝ๋ก์ ๋๋ค. |
ํ์ |
์์ต๋ฅ :
์ ํ | ์ค๋ช |
---|---|
Path
|
๊ณต๋ฐฑ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ค๋ก ๋์ฒด๋ ์์ ๊ฒฝ๋ก, ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ ๊ฒฝ๋ก์ ๋๋ค. |
์
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
ultralytics.utils.files.increment_path(path, exist_ok=False, sep='', mkdir=False)
ํ์ผ ๋๋ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ฆ๊ฐ์ํต๋๋ค(์: runs/exp --> runs/exp{sep}2, runs/exp{sep}3, ... ๋ฑ).
๊ฒฝ๋ก๊ฐ ์กด์ฌํ๊ณ exist_ok๊ฐ True๋ก ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ, ๊ฒฝ๋ก ๋์ ์ซ์์ ์ธํ๋ฅผ ์ถ๊ฐํ์ฌ ๊ฒฝ๋ก๊ฐ ์ฆ๊ฐํฉ๋๋ค. ๋ฅผ ์ถ๊ฐํ์ฌ ๊ฒฝ๋ก๊ฐ ์ฆ๊ฐํฉ๋๋ค. ๊ฒฝ๋ก๊ฐ ํ์ผ์ธ ๊ฒฝ์ฐ ํ์ผ ํ์ฅ์๋ ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค. ๊ฒฝ๋ก๊ฐ ๋๋ ํฐ๋ฆฌ์ธ ๊ฒฝ์ฐ ์ซ์๊ฐ ๊ฒฝ๋ก ๋์ ์ง์ ์ถ๊ฐ๋ฉ๋๋ค. mkdir์ด True๋ก ์ค์ ๋์ด ์์ผ๋ฉด ๊ฒฝ๋ก๊ฐ ์์ง ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ก ์์ฑ๋ฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
path |
(str, Path)
|
์ฆ๋ถ ๊ฒฝ๋ก. |
ํ์ |
exist_ok |
bool
|
True์ด๋ฉด ๊ฒฝ๋ก๊ฐ ์ฆ๊ฐํ์ง ์๊ณ ๊ทธ๋๋ก ๋ฐํ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
sep |
str
|
๊ฒฝ๋ก์ ์ฆ๋ถ ๋ฒํธ ์ฌ์ด์ ์ฌ์ฉํ ๊ตฌ๋ถ ๊ธฐํธ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ''์ ๋๋ค. |
''
|
mkdir |
bool
|
๋๋ ํฐ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ False์ ๋๋ค. |
False
|
๋ฐํํฉ๋๋ค:
์ ํ | ์ค๋ช |
---|---|
Path
|
์ฆ๊ฐ๋ ๊ฒฝ๋ก. |
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
ultralytics.utils.files.file_age(path=__file__)
๋ง์ง๋ง ํ์ผ ์ ๋ฐ์ดํธ ์ดํ ์ผ์๋ฅผ ๋ฐํํฉ๋๋ค.
ultralytics.utils.files.file_date(path=__file__)
์ฌ๋์ด ์ฝ์ ์ ์๋ ํ์ผ ์์ ๋ ์ง(์: '2021-3-26')๋ฅผ ๋ฐํํฉ๋๋ค.
ultralytics.utils.files.file_size(path)
ํ์ผ/๋๋ ํ ๋ฆฌ ํฌ๊ธฐ(MB)๋ฅผ ๋ฐํํฉ๋๋ค.
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
ultralytics.utils.files.get_latest_run(search_dir='.')
runs์์ ๊ฐ์ฅ ์ต๊ทผ์ 'last.pt'๋ก์ ๊ฒฝ๋ก๋ฅผ ๋ฐํํฉ๋๋ค(์ฆ, --resume์์).
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
ultralytics.utils.files.update_models(model_names=('yolov8n.pt'), source_dir=Path('.'), update_names=False)
์ง์ ๋ YOLO ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๊ณ 'updated_models' ํ์ ๋๋ ํฐ๋ฆฌ์ ๋ค์ ์ ์ฅํฉ๋๋ค.
๋งค๊ฐ๋ณ์:
์ด๋ฆ | ์ ํ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
model_names |
tuple
|
์ ๋ฐ์ดํธํ ๋ชจ๋ธ ํ์ผ ์ด๋ฆ, ๊ธฐ๋ณธ๊ฐ์ ("yolov8n.pt")์ ๋๋ค. |
('yolov8n.pt')
|
source_dir |
Path
|
๋ชจ๋ธ ๋ฐ ๋์ ํ์ ๋๋ ํฐ๋ฆฌ๊ฐ ํฌํจ๋ ๋๋ ํฐ๋ฆฌ๋ก, ๊ธฐ๋ณธ๊ฐ์ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. |
Path('.')
|
update_names |
bool
|
๋ฐ์ดํฐ YAML์์ ๋ชจ๋ธ ์ด๋ฆ์ ์ ๋ฐ์ดํธํฉ๋๋ค. |
False
|
์
์ ์์ค ์ฝ๋ ultralytics/utils/files.py
์์ฑ 2023-11-12, ์ ๋ฐ์ดํธ 2024-05-08
์์ฑ์: Burhan-Q (1), ๊ธ๋ -์กฐ์ฒ (4), ์๋-ํ (1)