์ ์ฒด ๊ธ
-
bytes, str, unicode์ ์ฐจ์ด์ Computer Science/Python 2023. 7. 28. 22:19
ํ์ด์ฌ 3 ์์๋ bytes, str ๋๊ฐ์ง ํ์ ์ผ๋ก ๋ฌธ์ ์ํ์ค๋ฅผ ๋ํ๋ธ๋ค. bytes ์ธ์คํด์ค๋ raw 8๋นํธ ๊ฐ์ ์ ์ฅํ๋ค. str ์ธ์คํด์ค๋ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ์ ์ฅํ๋ค. ํ์ด์ฌ 2์์๋ str ๊ณผ unicode ๋ ๊ฐ์ง ํ์ ์ผ๋ก ๋ฌธ์ ์ํ์ค๋ฅผ ๋ํ๋ธ๋ค. ํ์ด์ฌ 3 ์๋ ๋ค๋ฅด๊ฒ str ์ธ์คํด์ค๋ raw 8๋นํธ ๊ฐ์ ์ ์ฅํ๋ค. unicode ์ธ์คํด์ค๋ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ์ ์ฅํ๋ค. ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ(0๊ณผ 1, 8๋นํธ๊ฐ) ๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ๋ง๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ธ์ฝ๋ฉ์ UTF-8์ด๋ค. ์ค์ํ ๊ฑด ํ์ด์ฌ 3์ str ๊ณผ ํ์ด์ฌ 2์ unicode ๋ ์ฐ๊ด๋ ๋ฐ์ด๋๋ฆฌ ์ธ์ฝ๋ฉ์ด ์๋ค๋ ์ ์ด๋ค. ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ก ๋ณํํ๋ ค๋ฉด encode ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๋ฐ๋๋ก bytes๋ฅผ u..
-
cyclic ordinal regression ํ์ต๋ฒAI\ML\DL/๋ ผ๋ฌธ ๋ฆฌ๋ทฐ 2023. 7. 28. 21:29
Ordinal Regression is a learning task for predicting a label (or rank) or the object, where the set of labels has a linear order, e.g., the set of integers. '์ํ ํ๊ท'๋ ๋ ์ด๋ธ์ ์ธํธ๊ฐ ์ ํ์ ์์๋ฅผ ๊ฐ์ง๋ (์๋ฅผ๋ค๋ฉด ์ ์์ ์งํฉ) ๊ฐ์ฒด์ ๋ ์ด๋ธ ๋๋ ๋ญํฌ๋ฅผ ์์ธกํ๋ ํ์ต ๋ฐฉ๋ฒ์ด๋ค. Ordinal Regression๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๊ตฌ๋์ด ์๋ค. - SVM - Gaussian processes - Perceptron learning Frank ์ Hall ์ ordinal binary decomposition ๋ฅผ ์ ์ํ๋ค. : ์ด์ง ๋ถ๋ฅ๊ธฐ๋ฅผ ๊ตฌ์ฑํ์ฌ ๊ฐ์ฒด์ ๋ญํฌ๊ฐ k๋ณด๋ค..
-
ํ์ด์ฌ split ํจ์ (๋ฌธ์์ด ์ชผ๊ฐ๊ธฐ)Computer Science/Python 2023. 7. 26. 13:32
split ํจ์๋ ๋ฌธ์์ด์ ์ด์๊ฒ ๋๋ ์ ๋ฆฌ์คํธ๋ก ๋ง๋ค ๋ ์ฌ์ฉํ๋ ํจ์์ด๋ค. 1. split ํจ์ ๋ฌธ์์ด.split() ๋ฌธ์์ด.split('๊ตฌ๋ถ์') ๋ฌธ์์ด.split('๊ตฌ๋ถ์', ๋ถํ ํ์) ๋ฌธ์์ด.split(sep='๊ตฌ๋ถ์', maxsplit=๋ถํ ํ์) ์ด๋ฐ์์ ๋ชจ์๋ค์ด ์๋ค. ์ ์ผ ๋ง์ง๋ง ๊ฒ์ด ์ ์ผ ์ ํํ๋ค. ๋ฌธ์์ด.split() ํจ์๋ ๋ฌธ์์ด์ ์ผ์ ํ ๊ท์น์ผ๋ก ์๋ผ์ ๋ฆฌ์คํธ๋ก ๋ง๋ค์ด ์ฃผ๋ ํจ์์ด๋ค. ์ข๋ ์ ํํ๊ฒ ๋งํ์๋ฉด ๋ฌธ์์ด.split(sep, maxsplit) ํจ์๋ ๋ฌธ์์ด์ maxsplit ํ์๋งํผ sep ์ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๊ตฌ๋ถํ์ฌ ์๋ผ์ ๋ฆฌ์คํธ๋ก ๋ง๋ค์ด ์ค๋ค. - sep ํ๋ผ๋ฏธํฐ ํด๋น ํ๋ผ๋ฏธํฐ์ ๊ธฐ๋ณธ๊ฐ์ none์ด๋ฉฐ, ์ด๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋์ด์ฐ๊ธฐ๋ ์ํฐ๋ฅผ ๊ตฌ๋ถ์๋ก ํ์ฌ ๋ฌธ์์ด์ ..
-
ํ์ด์ฌ map ํจ์Computer Science/Python 2023. 7. 25. 23:27
๏นก 1. map ํจ์ ์ค๋ช ๊ณผ ์ฌ์ฉ๋ฒ 1-1) ํ์ด์ฌ ๋งต ํจ์ map(function, iterable) map ํจ์์ ๋ชจ์์ ์์ ๊ฐ๋ค. ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก๋ ํจ์๊ฐ ์ค๊ณ , ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก๋ ๋ฐ๋ณต๊ฐ๋ฅํ ์๋ฃํ(๋ฆฌ์คํธ, ํํ ๋ฑ)์ด ์จ๋ค. map ํจ์์ ๋ฐํ ๊ฐ์ map ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ํด๋น ๋ฐํ๊ฐ์ ์๋ฃํ์ list ๋๋ tuple๋ก ํ ๋ณํ์์ผ ์ฃผ์ด์ผ ํ๋ค. ํจ์์ ๋์์ ๋ ๋ฒ์งธ ์ธ์๋ก ๋ค์ด์จ ๋ฐ๋ณต ๊ฐ๋ฅํ ์๋ฃํ (๋ฆฌ์คํธ๋ ํํ)์ ์ฒซ ๋ฒ์งธ ์ธ์๋ก ๋ค์ด์จ ํจ์์ ํ๋์ฉ ์ง์ด๋ฃ์ด์ ํจ์๋ฅผ ์ํํ๋ ํจ์์ด๋ค. map(์ ์ฉ์ํฌ ํจ์, ์ ์ฉํ ๊ฐ๋ค) ์ด๋ฐ์์ด๋ค. ์๋ฅผ ๋ค์ด ์ฒซ๋ฒ์งธ ์ธ์๊ฐ ๊ฐ์ +1์ ๋ํด์ฃผ๋ ํจ์๋ผ๊ณ ํ๊ณ ๋๋ฒ์งธ ์ธ์์ [1,2,3,4,5] ๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ์ง์ด๋ฃ์ผ๋ฉด ํจ์์ ๋ชจ์์ ์๋์ ..
-
torch.utils.data.DataLoaderAI\ML\DL/Pytorch 2023. 7. 25. 18:41
DataLoader DataLoader ๋ ๋ฐ์ดํฐ์ ์ ๋ฏธ๋ ๋ฐฐ์น ๋จ์๋ก ๋ถํ ํ์ฌ ํ์ตํ๋ก์ธ์ค์ ์ ๊ณตํด์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ฐ์ดํฐ๋ก๋ (DataLoader) ๊ฐ์ฒด๋ ํ์ต์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ๋ณด๊ดํ๋ค๊ฐ ๋ชจ๋ธ ํ์ต์ ํ ๋ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด์ ์ฌ์ฉํ๋ค. ์ด๋ ์ฃผ์ํ ๊ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์๋ผ ๋๋ ๊ฒ์ด ์๋๋ผ ๋ด๋ถ์ ์ผ๋ก ๋ฐ๋ณต์ (iterator)์ ํฌํจ๋ ์ธ๋ฑ์ค (index)๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค๋ ๊ฒ์ด๋ค. DataLoader ์ฌ์ฉ ์์ ์๋์ ์ฝ๋๋ ๊ฐ๊ฐ 5๊ฐ์ ์ํ์ ๊ฐ์ง ๋ฐ์ดํฐ (data; example data) ์ ๋ ์ด๋ธ (labels) ํ ์๋ก dataset์ ๋ง๋ ํ์ dataloader๋ฅผ ๋ง๋ค์ด์ ๋ฐฐ์น ํฌ๊ธฐ๋งํผ ๋ฐ์ดํฐ๋ฅผ ๋น๋ณต์์ถ์ถํ์ฌ ํ๋ฆฐํธํ๋ ๊ฐ๋จํ ์ฝ๋์ด๋ค. ์ด..
-
nn.LinearAI\ML\DL/Pytorch 2023. 7. 14. 21:04
Fully connected layer nn.Linear(์ ๋ ฅ๋ ธ๋ ๊ฐ์, ์ถ๋ ฅ๋ ธ๋ ๊ฐ์) ์์ ๋ฌธ์๋ฅผ ๋ณด๋ฉด, nn.Linear() ์์ ์ ๋ ฅ ๋ฒกํฐ $x$ ์ ๊ฐ์ค์น ๋ฒกํฐ $w$ ๋ฅผ ๊ณฑํด์ค ๋, ๊ฐ์ค์น $w$์ transpose๋ฅผ ์ทจํด์ค์ ๊ณฑํด์ค๋ค. ๊ทธ ์ด์ ๋ ๋ฌด์์ผ๊น? mlp ์์ ๋ ธ๋๋ ์ฑ๋์ ์๋ฏธํ๋ค. nn.Linear ๋ ์ ๋ ฅ์ผ๋ก 1D data๊ฐ ๋ค์ด์ค๊ธธ ๊ธฐ๋ํ๋๋ฐ, ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ํต๊ณผ์ํฌ ๋ ํน์ ์ฑ๋ ์๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ n๊ฐ๋ฅผ (๊ฐ์n $\times$ ์ฑ๋) ํํ๋ก ํต๊ณผ์์ผ์ผ ํ๋ค. weight ๋ํ (๊ฐ์x์ฑ๋) ํํ๋ก ํํํด์ฃผ์. ์ผ๋จ weight์ ์ฑ๋์ ์์ ์๋ ๋ ธ๋์ ์ฑ๋์ด๋ ๋ง์ถฐ์ผ ํด์ ๊ฐ์ค์น์ ์ฑ๋์ ์ ๋ ฅ ๋ ธ๋์ ์ฑ๋์๋ก ์ ํด์ง ์ํ์ด๋ค. ์๋ฅผ ๋ค์ด nn.Linear(3,2) ์ผ..
-
5๏ธโฃ Pytorch ๊ธฐ์ด_autogradAI\ML\DL/Pytorch 2023. 7. 14. 17:08
1) requires_grad ํ ์ ๊ฐ์ฒด์ attribute ๋ก, ๊ทธ๋๋์ธํธ์ ๊ณ์ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ค. requires_grad ์์ฑ์ True ๋ก ์ค์ ํ์ฌ ํ ์์ ๋ํ ๊ทธ๋๋์ธํธ ๊ณ์ฐ์ ํ์ฑํํ ์ ์๋ค. requres_grad ์์ฑ์ด False ๋ก ์ค์ ๋ ํ ์์ ๋ํด์๋ ๊ทธ๋๋์ธํธ๋ฅผ ๊ณ์ฐํ์ง ์๋๋ค. ์ด๋ฅผ ํตํด ๋ถํ์ํ ๊ณ์ฐ์ ์ค์ฌ ์ฐ์ฐ ์๋๋ฅผ ํฅ์์ํฌ ์ ์๋ค. 2) ์ญ์ ํ ๊ณ์ฐ x=torch.tensor([1.], requires_grad=True) y=x**2 y.retain_grad() z=3*y z.backward() print(x.grad) print(y.grad) x -> x**2 -> 3x**2 ์์ผ๋ก ์งํ๋๋ฏ๋ก x ์ ๋ํด์ 3x**2 ๋ฅผ chain rule์ ํตํด ํธ๋ฏธ๋ถํ๋ฉด ๊ฒฐ๊ณผ๋ 6..
-
4๏ธโฃ Pytorch ๊ธฐ์ด_์ฌ๋ฌ ํจ์๋คAI\ML\DL/Pytorch 2023. 7. 14. 12:32
๋๋ค ํจ์ 1. torch.randn: ๋๋คํ ์ซ์๋ค์ ํ๊ท ์ด 0, ๋ถ์ฐ์ด 1์ด๋๋๋ก normal distribution์ผ๋ก ๋ฐํ 2. torch.rand: 0๋ถํฐ 1์ฌ์ด ๋๋คํ ์ซ์๋ค์ uniform distribution ์ผ๋ก ๋ฐํ 3. torch.randint(1,5,size=(12,)): 1๋ถํฐ 5๋ฏธ๋ง 12๊ฐ ์ ์ ๋ชจ๋ ์ํ๋ ํ๋ ฌ ์ฌ์ด์ฆ๋ก ๋๋คํ ๊ฐ๋ค์ ์์ฑํ ์ ์๋ ํจ์์ด๋ค. print(A[A[:,0]