type(nums)
์๋ ํ์ธ์. ์ด์ ํ์ดํ ์น๋ก ๋ฅ๋ฌ๋ํ ์ค๋น๊ฐ ๋ค ๋์์ต๋๋ค.
์ด์ ๋ฅ๋ฌ๋์ ํ๊ธฐ ์ ์ ํ์ดํ ์น ๋ฌธ๋ฒ ๊ตฌ์กฐ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
ํ ์ํ๋ก์ฐ๋ numpyarray๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํ ์(3์ฐจ ์ด์)๋ฅผ ์ฌ์ฉํ๋ต๋๋ค.
์ฐ๋ฆฌ๋ค์ด ๊ณต๋ถํ ํ์ดํ ์น๋ torch๋ฅผ ๊ฐ์ง๊ณ ๋๋๋ค.
๊ทธ๋ฅ numpy = torch ์ด๋ ๊ฒ ๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด๋ฒ ์๊ฐ์ ํ์ดํ ์น์ ๊ธฐ๋ณธ์ธ torch๋ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์์ฒ ์๋ง ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด์๋ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํฉ๋๋ค.
๋ชจ๋ธ์ ๊ตฌ์ํ๊ณ , ๋ฐ๋ณต, ํ์ต๋งํผ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์๋นํ ์ค์ํฉ๋๋ค.
1. ๊ธฐ๋ณธ ๊ตฌ์กฐ
import torch
import numpy as np
nums = torch.arange(9)
nums
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8])
nums.shape
torch.Size([9])
type(nums)
torch.Tensor
nums.numpy()
array([0, 1, 2, 3, 4, 5, 6, 7, 8], dtype=int64)
nums.reshape(3,3) # ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌํ๋๋ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ
tensor([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
randoms = torch.rand((3,3))
randoms
tensor([[0.5127, 0.8462, 0.1646],
[0.1679, 0.7492, 0.1046],
[0.6169, 0.6014, 0.1144]])
zeros = torch.zeros((3,3))
zeros
tensor([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
ones = torch.ones((3,3))
ones
tensor([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])
torch.zeros_like(ones)
tensor([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
2. ์ฐ์ฐ
import torch
import numpy as np
nums = torch.arange(9)
nums * 3
tensor([ 0, 3, 6, 9, 12, 15, 18, 21, 24])
nums = nums.reshape((3,3))
nums + nums
tensor([[ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16]])
result = torch.add(nums, 10)
array([[10, 11, 12],
[13, 14, 15],
[16, 17, 18]], dtype=int64)
๊ทธ ์ธ ์ฌ์น์ฐ์ฐ์ ์ด ๋ฐฉ๋ฒ๊ณผ ์ ๋ถ ์ผ์นํฉ๋๋ค.
ํ์ง๋ง ์กฐ๊ธ ์ฐ์ฐ์ ์ฃผ์ํด์ผ ํ๋ ๋ถ๋ถ์ ๊ณฑ์ ์ชฝ์ ๋๋ค.
torch๋ ํ๋์ ํ๋ ฌ(1, 2์ฐจ)์ด๋ฉฐ, ํ ์(3์ฐจ, dim = 3, rank = 3)๋ก ๋ณผ ์ ์์ต๋๋ค.
- * : ์ค์นผ๋ผ ๊ณฑ
- dot : ๋ฒกํฐ ๋ด์
- mv : ํ๋ ฌ๊ณผ ๋ฒกํฐ์ ๊ณฑ
- mm : ํ๋ ฌ๊ณผ ํ๋ ฌ์ ๊ณฑ
- matmul : ์ธ์์ ์ข ๋ฅ์ ๋ฐ๋ผ์ ์๋์ผ๋ก dot, mv, mm์ ์ ํ
๊ณฑ์ ์ ์ข ๋ฅ๊ฐ ์๋นํฉ๋๋ค.
์ค์นผ๋ผ ๊ณฑ, ํ๋ ฌ ๊ณฑ์ ์ฐ๋ฆฌ๋ค์ด ๊ณต๋ถํ๋ ๊ณ ๋ฑ์ํ์ ๋์ค๋ ๊ฒ๊ณผ ์ผ์นํฉ๋๋ค.
ํ์ง๋ง dot์ ์ด๋ป๊ฒ ํ ๊น์?
dot์ 2์ฐจ์์๋ ํ๋ ฌ์ ๊ณฑ๊ณผ ๋๊ฐ์ผ๋ 3์ฐจ ์ด์์์๋ ๊ณ์ฐ์ด ๋ง์ด ๋ฌ๋ผ์ง๋๋ค.
์ํ์ ์ธ ๋ถ๋ถ๋ ์ค์ํ๋, ์ ๋ ์ฝ๋ฉ ์ชฝ์ ๋น์ค์ ๋๋ฉด์ ๊ณต๋ถํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ข ์ ๋ฆฌํ๊ณ ๋ณด๋ ๋ณ๋ก๋ค์..
์ฝ๋๋ธ๋ญ์ ์ฒ์ ์จ๋ดค๋๋ฐ ์ด์ํ๊ธฐ๋ ํ๊ณ ,
๋ค์ ๊ธ์ ์ข ๋ ํ์ํ๊ณ ์ ์ฉํ ํ์ํ ๋ถ๋ถ๋ง ์จ์ผํ ๊ฒ ๊ฐ์ต๋๋ค.
'๐ Python > Deep Learning' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฅ๋ฌ๋] RNN with PyTorch ( RNN ๊ธฐ๋ณธ ๊ตฌ์กฐ, ์ฌ์ฉ ๋ฐฉ๋ฒ ) (3) | 2020.04.28 |
---|---|
[๋ฅ๋ฌ๋] ์ ํํ๊ท (Linear Regression) : Pytorch ๊ตฌํ (2) | 2020.04.14 |
[๋ฅ๋ฌ๋] ์ ํ ํ๊ท(Linear Regression) (1) | 2020.04.09 |
[๋ฅ๋ฌ๋] ํ์ดํ ์น step2:: ์ค์น&์ค๋น (0) | 2020.02.04 |
[๋ฅ๋ฌ๋]์ธ๊ณต์ง๋ฅ ํ์ดํ ์น step1::์ฃผํผํฐ ๋ ธํธ๋ถ ์ค๋น (0) | 2020.02.03 |