-
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]<0,:]): A ํ ์์์ 0๋ฒ์งธ ์ด์ด ์์์ธ ํ๋ค์ ๋ชจ๋ ์ฌ๋ผ์ด์ฑํ์ฌ ๊ฐ์ ธ์ด
์ ๋๊ฐ, ์ ๊ณฑ๊ทผ, ์ง์, ๋ก๊ทธ, ๋ฐ์ฌ๋ฆผ, ๋ด๋ฆผ, ์ฌ๋ฆผ ํจ์
์ฃผ์ํ ์ : torch ํจ์์ ์ ๋ ฅ์ผ๋ก ๊ทธ๋ฅ integer๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์ค๋ฅ๊ฐ ๋๊ณ ์ด๋ฅผ ํ ์๋ก ๋ฐ๊ฟ์ ๋ฃ์ด์ค์ผ ํ๋ค.
์๋ฅผ๋ค์ด torch.log(10) ์ด๋ฐ์์ผ๋ก integer๋ฅผ ์ฐ๋ฉด ์๋๊ณ torch.log(torch.tensor(10)) ์ด๋ฐ์์ผ๋ก ์จ์ค์ผ ํ๋ค.
์คํ๊ฒฐ๊ณผ
์ผ๊ฐํจ์๋ค
- torch.pi ์ type ์ float ์ด๋ค. ๊ทธ๋ฐ๋ฐ torch.tensor๋ก ๊ฐ์ธ์ฃผ๋ฉด type์ด tensor ๋ก ๋ฐ๋๋ค.
isnan
torch.nan ์ ์ซ์๊ฐ ์๋ ๊ฐ์ด๊ณ , torch.inf ๋ Infinite ํ ๊ฐ์ด๋ค.
ํด๋น ๊ฐ์ด ํ ์์์ ๋ค์ด์๋์ง ์๋์ง torch.isnan, torch.isinf ํจ์๋ก ํ์ธํ ์ ์๋ค.
True ํน์ False์ boolean ๊ฐ์ ๋ฐํํ๋ค.
์ต๋๊ฐ, ์ต์๊ฐ argmax
- torch.max(A,axis=0): 2์ฐจ์ ํ๋ ฌ A ์์ ๊ฐ ์ด์ ์ต๋๊ฐ(values)๊ณผ ๊ทธ ์ธ๋ฑ์ค(indices) ๋ฐํ
- torch.max(A,axis=1): 2์ฐจ์ ํ๋ ฌ A ์์ ๊ฐ ํ์ ์ต๋๊ฐ(values)๊ณผ ๊ทธ ์ธ๋ฑ์ค (indices) ๋ฐํ
- torch.max(A,axis=0, keepdims=True): ์ฐจ์๊ณผ ์ด ์ฌ์ด์ฆ(4)๋ฅผ ์ ์งํ๋ฉด์ ์ต๋๊ฐ ๋ฐํ, shape: (1,4)
- torch.max(A,axis=1, keepdims=True): ์ฐจ์๊ณผ ํ ์ฌ์ด์ฆ(3)๋ฅผ ์ ์งํ๋ฉด์ ์ต๋๊ฐ ๋ฐํ, shape: (3,1)
์ ๋ ฌ
a๊ฐ 1์ฐจ์ ํน์ ๋ค์ฐจ์ ํ ์๋ผ๊ณ ํ ๋
- a_sorted=torch.sort(a,dim=0): ๊ฐ ์ด๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
- a.sort(dim=0, descending=True): ๊ฐ ์ด๋ค์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
- a_sorted=torch.sort(a,dim=1): ๊ฐ ํ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
ํฉ, ํ๊ท , ํ์คํธ์ฐจ
- torch.sum(a): ๋ชจ๋ ์ฑ๋ถ๋ค์ ํฉ
- torch.sum(a, axis=1): ๊ฐ ํ์ ์ฑ๋ถ๋ค์ ํฉ
- torch.mean(a): ๋ชจ๋ ์ฑ๋ถ๋ค์ ํ๊ท ๊ฐ
- torch.mean(a, axis=1): ๊ฐ ํ์ ์ฑ๋ถ๋ค์ ํ๊ท
- torch.std(a): ๋ชจ๋ ์ฑ๋ถ๋ค์ ํ์คํธ์ฐจ
๋ด์ , ํ๋ ฌ๊ณฑ, ์ ์น
- torch.sum(a*b): ํ๋ ฌ์ ๋ด์ , ์์๋ผ๋ฆฌ์ ๊ณฑ์ ๋ํ๊ธฐ
- a.transpose(1,0): ์ ์น
- a.permute(1,0): ์ ์น
- a.T: ์ ์น
- a.permute(0,2,1): ํ๋ ฌ์ dimension ์์๋ฅผ ๋ฐ๊ฟ์ค๋ค. shape์ 4,3,6 ์์ 4,6,3 ์ผ๋ก ๋ฐ๊ฟ์ค๋ค.
Stack, concat
- torch.vstack([A,B]): ํ์ผ๋ก ์๊ธฐ (์๋๋ก)
- torch.hstack([A,B]): ์ด๋ก ์๊ธฐ (์์ผ๋ก)
- torch.cat([A,B], dim=0): ํ์ผ๋ก ์๊ธฐ
- torch.cat([A,B], dim=1): ์ด๋ก ์๊ธฐ
Squeeze, unsqueeze
- A.squeeze(): dimension size๊ฐ 1์ธ ๊ฒ์ ์ ๊ฑฐํ๊ณ ์๋ ๊ฒ๋ง ๋จ๊ธด๋ค.
- A.unsqueeze(): dimension size ๋ฅผ ํ๋ ๋๋ฆฐ๋ค.
Repeat
- ์ง์ ๋ ์ฐจ์๋งํผ ํ ์๋ฅผ ๋ฐ๋ณตํ๋ค.
'AI\ML\DL > Pytorch' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
nn.Linear (0) 2023.07.14 5๏ธโฃ Pytorch ๊ธฐ์ด_autograd (0) 2023.07.14 3๏ธโฃ Pytorch ๊ธฐ์ด_boolean ์ธ๋ฑ์ฑ (0) 2023.07.06 2๏ธโฃ Pytorch ๊ธฐ์ด_์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ค (0) 2023.07.06