728x90 ๐ป Programming83 ์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ํ '์๊ณ ๋ฆฌ์ฆ' ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋จ๊ณ์ ์ธ ์ ์ฐจ์ด๋ค. ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ฉด ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์๊ณ , ๋ฌธ์ ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์๊ธฐ์ ์์๋ฌ์ผ๊ฒ ์ง? (๋งจ๋ ๊น๋จน๋๋ค)Brute Force๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๊ณ ๋ คํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋งค์ฐ ์ง๊ด์ ์ด๊ณ ๊ตฌํํ๊ธฐ ์ฝ์ง๋ง, ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๊ฐ ๋ณต์ก๋๊ฐ ๋งค์ฐ ์ปค์ง ์ ์๋ค. ๋ฐ๋ผ์ ์ฃผ๋ก ์ ํ์ด ์ ๊ฑฐ๋, ๋ฌธ์ ์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค.ํน์ง๋จ์ํ๊ณ ์ง๊ด์ : ์๊ณ ๋ฆฌ์ฆ์ด ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์.์๊ฐ ๋ณต์ก๋: ๋ฌธ์ ์ ํฌ๊ธฐ์ ๋ฐ๋ผ O(n^2), O(n!)์ ๊ฐ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์์.๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์๋: ์ต์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๊ณ , ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ํ๋ ๋ฐฉ์์ด๋ค.. 2025. 1. 16. ์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ํ '์๋ฃ ๊ตฌ์กฐ' ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ์ ๋๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฝ๋ฉ ํ ์คํธ์์๋ ๊ฐ ์๋ฃ ๊ตฌ์กฐ์ ํน์ฑ์ ์ดํดํ๊ณ , ๋ฌธ์ ์ ๋ง๊ฒ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค...๋ ๋ง์ ์ง๋ถํ๊ณ ์ ๊น๋จน๊ฒ ์ ์ด๋ผ๋ ๋๋ค. 1. ๋ฆฌ์คํธ (List)๋ฆฌ์คํธ๋ ์์๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ๋ก, ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค. ํ์ด์ฌ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๋ฃ ๊ตฌ์กฐ์.์๊ฐ ๋ณต์ก๋: ์ธ๋ฑ์ค ์ ๊ทผ O(1), ์ฝ์ /์ญ์ O(n) (์ค๊ฐ์ ์ฝ์ /์ญ์ ์)์ฌ์ฉ ์ฌ๋ก: ์์ฐจ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ, ์ธ๋ฑ์ค ๊ธฐ๋ฐ ์ ๊ทผ, ๋ฆฌ์คํธ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ๋ ์ ์ฉ# ๋ฆฌ์คํธ ์์ฑarr = [1, 2, 3]# ๋ฆฌ์คํธ์ ์์ ์ถ๊ฐarr.append(4) # O(1)# ์ธ๋ฑ์ค๋ฅผ ํตํ ์์ ์ ๊ทผprint(arr[2]).. 2025. 1. 15. [FastAPI] API ํค๋ก ์ธ์ฆ ์ ์ฉํ๊ธฐ | API KEY ์ค๋์ FastAPI๋ฅผ ์ฌ์ฉํด์ API๋ฅผ ์ ๊ณตํ ๋ API ํค๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋ ค๊ณ ํด์. API ํค๊ฐ ๋ฌด์์ธ์ง, ์ ์ฌ์ฉํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ์ ์ฉํ๋์ง ์ค๋ช ํด ๋ณผ๊ฒ์ ~!API ํค๋ ๋ฌด์์ธ๊ฐ์?API ํค(API Key)๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด API๋ฅผ ํธ์ถํ ๋ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ๋ฅผ ์ํด ์ฌ์ฉํ๋ ๊ณ ์ ์๋ณ์์์. API ํค๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ์ฌ์ฉ๋ผ์:์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ: ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด API์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ด ์๋์ง ํ์ธ์ฌ์ฉ ์ถ์ ๋ฐ ๋ชจ๋ํฐ๋ง: ์ด๋ค ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค API ํธ์ถ์ ํ๋์ง ์ถ์ ํ๊ณ ๋ชจ๋ํฐ๋ง์์ฒญ ์ ํ: ํน์ ํด๋ผ์ด์ธํธ๊ฐ ์ผ์ ์๊ฐ ๋ด์ ๋ณด๋ผ ์ ์๋ ์์ฒญ ์๋ฅผ ์ ํํ ์ ์์ FastAPI์์ API ํค ์ ์ฉํ๊ธฐ API ํค๋ฅผ ์ฌ์ฉํ ์ธ์ฆ ๋ฏธ๋ค์จ์ด ์์ฑํ๊ธฐfr.. 2024. 8. 6. [python] ํ์ฌ ํ์ผ์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์์ฝ๊ฒ ์ฐพ๊ธฐ: os.path ๋์ pathlib ์ฌ์ฉํ๊ธฐ Python์์ ํ์ฌ ํ์ผ์ ๊ธฐ์ค์ผ๋ก ์์๋ ์์ ์์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ๋ฐ์ํ๋๋ฐ์. ์๋ฅผ ๋ค์ด, ํ์ผ ์์คํ ๋ด์์ ๋ค๋ฅธ ํ์ผ์ ์ฐธ์กฐํ๊ฑฐ๋ ๊ตฌ์ฑ ํ์ผ์ ์ฝ์ ๋๊ฐ ๊ทธ๋ ์ต๋๋ค. ๋ณดํต ๋ง์ ๋ถ๋ค์ด(๊ณผ๊ฑฐ์ ๋๋...) os ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์ด ์์ ์ ์ํํ์ง๋ง, pathlib ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๋ ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ํ ์ ์์ผ๋ ์๋ ๋ด์ฉ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์! 1. os ๋ชจ๋ ์ฌ์ฉ ๋ฐฉ๋ฒ๋จผ์ , os ๋ชจ๋์ ์ฌ์ฉํ์ฌ ํ์ฌ ํ์ผ์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ๊ฒ์. import oscurrent_dir = os.path.dirname(os.path.abspath(__file__))print(current_dir) ์ด ๋ฐฉ๋ฒ์ __file__ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์จ ํ, os.p.. 2024. 7. 30. [ํํ ๋ฆฌ์ผ] ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ CLIP & KoCLIP ๋ชจ๋ธ ์์ | ์ฝ๋ฉ ๋ชปํด๋ ๊ฐ๋ฅํด! | ๋ฉํฐ๋ชจ๋ฌ AI ์์ | CLIP & ํ๊ตญ์ด CLIP ์๋ ํ์ธ์. ์ค๋์ ๊ธฐ๋ณธ์ ์ธ ๋ฉํฐ๋ชจ๋ฌ AI ๋ชจ๋ธ์ธ, CLIP์ ์ฌ์ฉํด ๋ณด๋ ํํ ๋ฆฌ์ผ์ ๊ฐ์ ธ์์ด์!์ฌ์ค ์์ฆ์ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ๊ฐ ๋ฐ์ ํด์ ๊ต์ฅํ ์์ฝ๊ฒ AI ๋ชจ๋ธ์ ๋ค๋ค๋ณผ ์ ์๋๋ฐ์. CLIP ๊ณผ ๊ฐ์ ํธ๋์คํฌ๋จธ ๊ธฐ๋ฐ์ ๋ชจ๋ธ๋ ํ๊น ํ์ด์ค API๋ฅผ ์ฌ์ฉํ๋ฉด ๊ต์ฅํ ์ฝ๊ฒ ์ฌ์ฉํด ๋ณผ ์ ์์ด์. ํนํ ํ์ตํ์ง ์๊ณ pre-trained(์ฌ์ ํ์ต๋) ๋ชจ๋ธ์ ์ฌ์ฉํ๋ค๋ฉด ๋๋์ฑ ์ฝ๊ฒ ์ฃ ? *CLIP : Contrastive Language-Image Pretraining ๊ทธ๋์ ์ค๋์ ์ฝ๋ฉ์ ํ ์ค ๋ชจ๋ฅด๋ ๋น๊ฐ๋ฐ์๋ ์์ฝ๊ฒ ๋ฐ๋ผํ ์ ์๋ ํํ ๋ฆฌ์ผ์ ๋ง๋ค์ด ์๋ต๋๋ค ~~ ๐ค์ฌ์ค ์ฝ๋๊ฐ ์งง์์ ๋ญ ๋ง๋ค์๋ค๊ณ ํ ์ ์๋ ์์ค๋ ์๋๊ธด ํด์ ใ ใ CLIP Model ๊ทธ๋๋ ๊ฐ๋จํ๊ฒ ๋ผ๋ CLIP ๋ชจ๋ธ์ด ๋ฌด์์ธ์ง๋ .. 2024. 7. 28. [Github] ๊นํ ์๋ธ๋ชจ๋: ๊ณตํต ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ์ ํ์์ฑ๊ณผ ๋ฐฉ๋ฒ ์๋ธ๋ชจ๋์ด๋? ์๋ธ๋ชจ๋์ ํ๋์ Git ๋ฆฌํฌ์งํ ๋ฆฌ ๋ด์ ๋ค๋ฅธ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํฌํจ์ํค๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ฅผ ํตํด ํฐ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ ๋ ๋ฆฝ์ ์ธ ๋ชจ๋๋ก ๋๋์ด ๊ด๋ฆฌํ๊ฑฐ๋, ์ฌ๋ฌ ํ๋ก์ ํธ์์ ๊ณตํต๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก๋ ๋ฅ๋ฌ๋ ๋ชจ๋ z๋ฅผ ๊ฐ๋ฐํ๋๋ฐ, ์ด ๋ชจ๋์ด ํ๋ก์ ํธ A์ B์ ๋ชจ๋ ์ฌ์ฉ๋์ด ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋ฉด ์ข์๊น ๊ณ ๋ฏผํ๋ค ์๋ธ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ด์. ์ฒ์์๋ ๊ทธ๋ฅ ๋ฅ๋ฌ๋ ๋ชจ๋ z๋ฅผ ํ์ A์ B์ ๋ณต์ฌํด๋์ฑ๋ก ๊นํ์ ๊ด๋ฆฌํ๋๋ฐ... ์ด๋ ๊ฒ ๊ด๋ฆฌํ๋ค๋ณด๋ฉด A์์ z๋ฅผ ์์ ํ๊ณ , B์์๋ z๋ฅผ ์์ ํ๊ณ ... ์๊ฐ์ด ์ง๋๋ฉด ๊ด๋ฆฌ ์์ฒด๊ฐ ๋ถ๊ฐ๋ฅํด ์ง๋๋ผ๊ตฌ์ ใ ใ . ๋ฌผ๋ก ์ฒ์์ ๋ง์ด๋ํ ์์ ์ด๋ผ ๋์ค์ ๋ค ์ ๋ฆฌํด์ผ์ง~ ํ์ง๋ง ๋ ์ฝ์ง ์์ฃ ใ ใ . ๊ทธ๋์! ์๋ธ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ณตํต์ ์ผ.. 2024. 7. 24. ์ด์ 1 2 3 4 ยทยทยท 14 ๋ค์ 728x90