Ultralytics ์คํ ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ
ํ์ํฉ๋๋ค! ์ ํฌ์ ์คํ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌ๋ฅผ ๊ณ ๋ คํ๊ณ ๊ณ์๋ค๋ Ultralytics ์คํ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌํด ์ฃผ์ ์ ๊ธฐ์ฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ฐธ์ฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ง์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋ ๋ฟ๋ง ์๋๋ผ ์ ์ฒด ์ปค๋ฎค๋ํฐ์๋ ๋์์ด ๋ฉ๋๋ค. ์ด ๊ฐ์ด๋๋ ์์ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ํํ ๊ฐ์ด๋๋ผ์ธ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ชฉ์ฐจ
- ํ๋ ๊ฐ๋ น
- ํ ๋ฆฌํ์คํธ๋ฅผ ํตํ ๊ธฐ์ฌ
- ๋ฒ๊ทธ ์ ๊ณ ํ๊ธฐ
- ๋ผ์ด์ ์ค
- ๊ฒฐ๋ก
- ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
ํ๋ ๊ฐ๋ น
๋ชจ๋๋ฅผ ํ์ํ๊ณ ํฌ์ฉํ๋ ํ๊ฒฝ์ ์กฐ์ฑํ๊ธฐ ์ํด ๋ชจ๋ ๊ธฐ์ฌ์๋ ํ๋ ๊ฐ๋ น์ ์ค์ํด์ผ ํฉ๋๋ค. ์กด์ค, ์น์ , ์ ๋ฌธ์ฑ์ ์ฐ๋ฆฌ ์ปค๋ฎค๋ํฐ์ ํต์ฌ์ ๋๋ค.
ํ ๋ฆฌํ์คํธ๋ฅผ ํตํ ๊ธฐ์ฌ
ํ ๋ฆฌํ์คํธ ํํ๋ก ๊ธฐ์ฌํด ์ฃผ์๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ์ต๋ํ ์ํํ๊ฒ ์งํํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ์ฃผ์ธ์:
-
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํฌํฌํฉ๋๋ค: Ultralytics YOLO ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ GitHub ๊ณ์ ์ผ๋ก ํฌํฌํ์ฌ ์์ํ์ธ์.
-
๋ธ๋์น๋ฅผ ๋ง๋ญ๋๋ค: ํฌํฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ฐ์ํ๋ ๋ช ํํ๊ณ ์ค๋ช ์ด ํฌํจ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ ๋ธ๋์น๋ฅผ ๋ง๋ญ๋๋ค.
-
๋ณ๊ฒฝํฉ๋๋ค: ์ฝ๋๊ฐ ํ๋ก์ ํธ์ ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ์ ์ค์ํ๊ณ ์๋ก์ด ์ค๋ฅ๋ ๊ฒฝ๊ณ ๋ฅผ ์ ๋ฐํ์ง ์๋์ง ํ์ธํฉ๋๋ค.
-
๋ณ๊ฒฝ ์ฌํญ์ ํ ์คํธํฉ๋๋ค: ์ ์ถํ๊ธฐ ์ ์ ๋ก์ปฌ์์ ๋ณ๊ฒฝ ์ฌํญ์ ํ ์คํธํ์ฌ ์์๋๋ก ์๋ํ๋์ง, ์๋ก์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋์ง ํ์ธํ์ธ์.
-
๋ณ๊ฒฝ ๋ด์ฉ์ ์ปค๋ฐํฉ๋๋ค: ๊ฐ๊ฒฐํ๊ณ ์ค๋ช ์ ์ธ ์ปค๋ฐ ๋ฉ์์ง๋ก ๋ณ๊ฒฝ ๋ด์ฉ์ ์ปค๋ฐํ์ธ์. ๋ณ๊ฒฝ ์ฌํญ์ด ํน์ ์ด์๋ฅผ ํด๊ฒฐํ๋ ๊ฒฝ์ฐ ์ปค๋ฐ ๋ฉ์์ง์ ์ด์ ๋ฒํธ๋ฅผ ํฌํจํ์ธ์.
-
ํ ๋ฆฌํ์คํธ๋ฅผ ๋ง๋ญ๋๋ค: ํฌํฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ( Ultralytics YOLO )๋ก ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํฉ๋๋ค. ๋ณ๊ฒฝ ์ฌํญ๊ณผ ๋ณ๊ฒฝ ์ฌํญ์ด ํ๋ก์ ํธ๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ํ๋์ง ๋ช ํํ๊ณ ์์ธํ๊ฒ ์ค๋ช ํ์ธ์.
CLA ์๋ช
ํ ๋ฆฌํ์คํธ๋ฅผ ๋ณํฉํ๋ ค๋ฉด ๋จผ์ ๊ธฐ์ฌ์ ๋ผ์ด์ ์ค ๊ณ์ฝ(CLA)์ ์๋ช ํด์ผ ํฉ๋๋ค. ์ด ๋ฒ์ ๊ณ์ฝ์ ์ฌ๋ฌ๋ถ์ ๊ธฐ์ฌ์ ์ ์ ํ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋์ด ํ๋ก์ ํธ๊ฐ AGPL-3.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๊ณ์ ๋ฐฐํฌ๋ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ๋ฉด CLA ๋ด์ด ์๋ช ์ ์ฐจ๋ฅผ ์๋ดํฉ๋๋ค. CLA์ ์๋ช ํ๋ ค๋ฉด PR์ ์ฝ๋ฉํธ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค:
Google-์คํ์ผ ๋ฌธ์ ๋ฌธ์์ด
์ ํจ์๋ ํด๋์ค๋ฅผ ์ถ๊ฐํ ๋๋ Google-์คํ์ผ์ ๋ฌธ์ ๋ฌธ์์ด์ ํฌํจํ์ธ์. ์ด๋ฌํ ๋ฌธ์ ๋ฌธ์์ด์ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ํํ๊ณ ํ์คํ๋ ๋ฌธ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฌธ์ ๋ฌธ์์ด ์์
์ด ์๋ Google-์คํ์ผ์ ๋ฌธ์ ๋ฌธ์์ด์ ๋ณด์ฌ์ค๋๋ค. ์
๋ ฅ๊ณผ ์ถ๋ ฅ ๋ชจ๋ types
๋ ํญ์ ๊ดํธ๋ก ๋ฌถ์ต๋๋ค(์:, (bool)
.
def example_function(arg1, arg2=4):
"""
Example function demonstrating Google-style docstrings.
Args:
arg1 (int): The first argument.
arg2 (int): The second argument, with a default value of 4.
Returns:
(bool): True if successful, False otherwise.
Examples:
>>> result = example_function(1, 2) # returns False
"""
if arg1 == arg2:
return True
return False
์ด ์์ ์๋ Google-์คํ์ผ์ ๋ฌธ์ ๋ฌธ์์ด๊ณผ ์ธ์ ๋ฐ ๋ฐํ์ ๋ํ ์ ํ ํํธ๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ง๋ง, ๋ ์ค ํ๋๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ๋ ํ์ฉ๋ฉ๋๋ค.
def example_function(arg1: int, arg2: int = 4) -> bool:
"""
Example function demonstrating Google-style docstrings.
Args:
arg1: The first argument.
arg2: The second argument, with a default value of 4.
Returns:
True if successful, False otherwise.
Examples:
>>> result = example_function(1, 2) # returns False
"""
if arg1 == arg2:
return True
return False
๋ ์๊ฑฐ๋ ๊ฐ๋จํ ํจ์์ ๊ฒฝ์ฐ ํ ์ค์ ๋ฌธ์ ๋ฌธ์์ด๋ก ์ถฉ๋ถํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ ์ธ ๊ฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ ์์ ํ ๋ฌธ์ฅ์ด์ด์ผ ํ๊ณ ๋๋ฌธ์๋ก ์์ํ๊ณ ๋ง์นจํ๋ก ๋๋์ผ ํฉ๋๋ค.
GitHub ์ก์ CI ํ ์คํธ
๋ชจ๋ ํ ๋ฆฌํ์คํธ๋ ๋ณํฉ๋๊ธฐ ์ ์ GitHub Actions ์ง์์ ํตํฉ (CI) ํ ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ํ ์คํธ์๋ ๋ณ๊ฒฝ ์ฌํญ์ด ํ๋ก์ ํธ์ ํ์ง ํ์ค์ ์ถฉ์กฑํ๋์ง ํ์ธํ๊ธฐ ์ํ ๋ฆฐํ , ๋จ์ ํ ์คํธ ๋ฐ ๊ธฐํ ๊ฒ์ฌ๊ฐ ํฌํจ๋ฉ๋๋ค. CI ๊ฒฐ๊ณผ๋ฅผ ๊ฒํ ํ๊ณ ๋ฐ์ํ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ธ์.
๋ฒ๊ทธ ์ ๊ณ ํ๊ธฐ
๋ฒ๊ทธ ์ ๊ณ ๋ ํ๋ก์ ํธ์ ํ์ง์ ์ ์งํ๋ ๋ฐ ํฐ ๋์์ด ๋๋ฏ๋ก ๋งค์ฐ ์์คํ๊ฒ ์๊ฐํฉ๋๋ค. ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ ๋๋ ๋ฌธ์ ๋ฅผ ์ผ๊ด๋๊ฒ ์ฌํํ ์ ์๋ ๊ฐ๋จํ๊ณ ๋ช ํํ ์ฝ๋ ์์ ์ธ ์ต์ ์ฌํ ๊ฐ๋ฅํ ์์ ๋ฅผ์ ๊ณตํด ์ฃผ์ธ์. ์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ํ์ ํ๊ณ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ผ์ด์ ์ค
Ultralytics ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ GNU Affero ์ผ๋ฐ ๊ณต์ค ๋ผ์ด์ ์ค v3.0(AGPL-3.0 )์ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ผ์ด์ ์ค๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ฐ๋ฐฉ์ฑ, ํฌ๋ช ์ฑ, ํ์ ์ ๊ฐ์ ์ ์ด์งํฉ๋๋ค. ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ํํธ์จ์ด๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ฉ, ์์ , ๊ณต์ ํ ์ ์๋๋ก ๋ณด์ฅํ์ฌ ๊ฐ๋ ฅํ ํ์ ๊ณผ ํ์ ์ ์ปค๋ฎค๋ํฐ๋ฅผ ์กฐ์ฑํฉ๋๋ค.
๋ชจ๋ ๊ธฐ์ฌ์๋ Ultralytics ์คํ์์ค ์ปค๋ฎค๋ํฐ์ ํจ๊ณผ์ ์ด๊ณ ์ค๋ฆฌ์ ์ผ๋ก ๊ธฐ์ฌํ๊ธฐ ์ํด AGPL-3.0 ๋ผ์ด์ ์ค ์ฝ๊ด์ ์์งํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๊ฒฐ๋ก
์คํ์์ค ํ๋ก์ ํธ์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. Ultralytics ์คํ์์ค YOLO ํ๋ก์ ํธ์ ๊ธฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ฐธ์ฌ๋ ์ํํธ์จ์ด์ ๋ฏธ๋๋ฅผ ๋ง๋ค๊ณ ํ์ ๊ณผ ํ์ ์ ํ๊ธฐ์ฐฌ ์ปค๋ฎค๋ํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ฝ๋๋ฅผ ๊ฐ์ ํ๊ฑฐ๋ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํ๊ฑฐ๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์ ์ํ๋ ๋ฑ ์ฌ๋ฌ๋ถ์ ๊ธฐ์ฌ๋ ๋งค์ฐ ์์คํฉ๋๋ค.
์ฌ๋ฌ๋ถ์ ์์ด๋์ด๊ฐ ์คํ๋๋ ๊ฒ์ ๋ณด๊ฒ ๋์ด ๊ธฐ์๊ณ , ๋ฌผ์ฒด ์ธ์ ๊ธฐ์ ์ ๋ฐ์ ์ํค๊ธฐ ์ํ ์ฌ๋ฌ๋ถ์ ๋ ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ฌ๋ฌ๋ถ๊ณผ ํจ๊ป ์ด ํฅ๋ฏธ์ง์งํ ์คํ์์ค ์ฌ์ ์์ ๊ณ์ ์ฑ์ฅํ๊ณ ํ์ ํด ๋๊ฐ์๋ค. ํ๋ณตํ ์ฝ๋ฉ! ๐๐
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Ultralytics YOLO ์คํ์์ค ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ์ฌํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
Ultralytics YOLO ์คํ ์์ค ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ์ฌํ๋ฉด ์ํํธ์จ์ด๊ฐ ๊ฐ์ ๋์ด ์ ์ฒด ์ปค๋ฎค๋ํฐ๋ฅผ ์ํด ๋์ฑ ๊ฐ๋ ฅํ๊ณ ํ๋ถํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ธฐ์ฌ์๋ ์ฝ๋ ๊ฐ์ , ๋ฒ๊ทธ ์์ , ๋ฌธ์ ๊ฐ์ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ ๊ตฌํ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋ํ, ๊ธฐ์ฌ๋ฅผ ํตํด ํด๋น ๋ถ์ผ์ ๋ค๋ฅธ ์๋ จ๋ ๊ฐ๋ฐ์ ๋ฐ ์ ๋ฌธ๊ฐ์ ํ์ ํ์ฌ ์์ ์ ๊ธฐ์ ๊ณผ ํํ์ ๋์ผ ์ ์์ต๋๋ค. ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ ๋ฆฌํ์คํธ๋ฅผ ํตํด ๊ธฐ์ฌํ๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Ultralytics YOLO ์ ๋ํ ๊ธฐ์ฌ์ ๋ผ์ด์ ์ค ๊ณ์ฝ(CLA)์ ์ด๋ป๊ฒ ์๋ช ํ๋์?
๊ธฐ์ฌ์ ๋ผ์ด์ ์ค ๊ณ์ฝ(CLA)์ ์๋ช ํ๋ ค๋ฉด ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ ํ CLA ๋ด์ด ์ ๊ณตํ๋ ์ง์นจ์ ๋ฐ๋ฅด์ธ์. ์ด ํ๋ก์ธ์ค๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์ ๊ธฐ์ฌ๊ฐ AGPL-3.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ์ ์ ํ๊ฒ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋์ด ์คํ์์ค ํ๋ก์ ํธ์ ๋ฒ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ํ ๋ฆฌํ์คํธ์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ฉํธ๋ฅผ ์ถ๊ฐํ์ธ์:
์์ธํ ๋ด์ฉ์ CLA ์๋ช ์น์ ์ ์ฐธ์กฐํ์ธ์.
Google-์คํ์ผ ๋ฌธ์ ๋ฌธ์์ด์ด๋ ๋ฌด์์ด๋ฉฐ Ultralytics YOLO ๊ธฐ์ฌ์ ํ์ํ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
Google-์คํ์ผ ๋ ์คํธ๋ง์ ํจ์์ ํด๋์ค์ ๋ํ ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ๋ฌธ์๋ฅผ ์ ๊ณตํ์ฌ ์ฝ๋ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํต๋๋ค. ์ด๋ฌํ ๋ ์คํธ๋ง์ ํจ์์ ๋ชฉ์ , ์ธ์, ๋ฐํ๊ฐ์ ํน์ ์์ ๊ท์น๊ณผ ํจ๊ป ๊ฐ๋ตํ๊ฒ ์ค๋ช ํฉ๋๋ค. Ultralytics YOLO ์ ๊ธฐ์ฌํ์ค ๋ Google-์คํ์ผ์ ๋ฌธ์ ๋ฌธ์์ด์ ๋ฐ๋ฅด๋ฉด ์ถ๊ฐํ ๋ด์ฉ์ด ์ ๋ฌธ์ํ๋๊ณ ์ฝ๊ฒ ์ดํด๋ ์ ์์ต๋๋ค. ์์ ์ ๊ฐ์ด๋๋ผ์ธ์ Google-์คํ์ผ ๋ ์คํธ๋ง ์น์ ์ ์ฐธ์กฐํ์ธ์.
๋ด ๋ณ๊ฒฝ ์ฌํญ์ด GitHub Actions CI ํ ์คํธ๋ฅผ ํต๊ณผํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์?
ํ ๋ฆฌํ์คํธ๋ฅผ ๋ณํฉํ๋ ค๋ฉด ๋จผ์ ๋ชจ๋ GitHub Actions ์ง์์ ํตํฉ(CI) ํ ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ํ ์คํธ์๋ ๋ฆฐํ , ๋จ์ ํ ์คํธ ๋ฐ ์ฝ๋๊ฐ ๋ค์์ ์ถฉ์กฑํ๋์ง ํ์ธํ๊ธฐ ์ํ ๊ธฐํ ๊ฒ์ฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
ํ๋ก์ ํธ์ ํ์ง ํ์ค์ ํ์ธํฉ๋๋ค. CI ๊ฒฐ๊ณผ๋ฌผ์ ๊ฒํ ํ๊ณ ๋ฌธ์ ๋ฅผ ์์ ํฉ๋๋ค. CI ํ๋ก์ธ์ค ๋ฐ ๋ฌธ์ ํด๊ฒฐ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ GitHub Actions CI ํ ์คํธ ์น์ ์ ์ฐธ์กฐํ์ธ์.
Ultralytics YOLO ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?
๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํ๋ ค๋ฉด ๋ฒ๊ทธ ์ ๊ณ ์ ํจ๊ป ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ์ต์ ์ฌํ ๊ฐ๋ฅํ ์์๋ฅผ ์ ๊ณตํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ ์์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ต์ํ์ ์์ ์ด์ง๋ง ๋ฌธ์ ๋ฅผ ์ฌํํ๊ธฐ์ ์ถฉ๋ถํ์ง ํ์ธํ์ธ์. ๋ฒ๊ทธ ์ ๊ณ ์ ๋ํ ์์ธํ ๋จ๊ณ๋ ๋ฒ๊ทธ ์ ๊ณ ํ๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ธ์.