-- λ³Έ ν¬μ€ν
μ νμ΄ν μΉλ‘ λ°°μ°λ μμ°μ΄ μ²λ¦¬ (νλΉλ―Έλμ΄) μ±
μ μ°Έκ³ ν΄μ μμ±λ κΈμ
λλ€.
-- μμ€μ½λ ) https://github.com/rickiepark/nlp-with-pytorch
0. ν μμ νμ , ν¬κΈ°, κ°μ λνλ΄λ ν¨μ μμ±
νμ€ν νμ , ν¬κΈ°μ λ³νλ₯Ό νμΈνκΈ° μν΄ μλμ κ°μ ν¬νΌ ν¨μλ₯Ό μμ±νλ€.
def describe(x):
print("νμ
: {}".format(x.type()))
print("ν¬κΈ°: {}".format(x.shape))
print("κ°: {}".format(x))
1. ν μμ νμ κ³Ό ν¬κΈ° (μμ±)
ν μμλ FloatTensor, LongTensor, DoubleTensor λ± λ€μν ννμ ν μκ° μ‘΄μ¬νλ€. λͺ¨λ ν μλ₯Ό λ€λ£¨κΈ° μ μλ μΈμ λ ν μμ μμ±μ μ΄ν΄λ³΄κ³ μμ μ μννλ κ²μ΄ κ΅μ₯ν μ€μνλ€.
import torch
x = torch.FloatTensor([[1,2,3], [4,5,6]])
describe(x)
1.1 ν μ νμ λ³κ²½νκΈ°
# μμ νμ±λ floattensor ννμ ν
μλ₯Ό, longtensorλ‘ λ³κ²½νλ€
x = x.long()
describe(x)
#floatTensorλ‘ λ³κ²½
x = x.float()
describe(x)
1.2 ν μ ν¬κΈ° νμΈνκΈ° (shape, size())
- shape, size() λ₯Ό μ¬μ©νμ¬ ν μμ ν¬κΈ°λ₯Ό μ΄ν΄λ³Ό μ μλ€. λ κ°μ λ©μλλ κ°μ κ²μ΄λ€.
x.shape
x.size()
2. ν μ μ°μ°
2.1 ν μμ μΌμ κ° λνκΈ° (add)
- ν μ μμ±
x = torch.randn(2,3)
describe(x)
- add μ°μ° μν
# xμ xλ₯Ό λνλ μ°μ°
describe(torch.add(x,x))
# xμ νΉμ μλ₯Ό λνλ μ°μ°
describe(torch.add(x,10))
- addμ°μ°μ μ¬μ©νμ§ μκ³ + λ₯Ό νμ©ν μ λ μλ€.
describe(x + 100)
2.2 νΉμ κ°λ§νΌ μ¦κ°νλ ν μλ‘ μμ±νκΈ° (arange)
- arangeν¨μλ 0λΆν° μμν΄μ 1μ© μ¦κ°λμ΄ μ§μ λ κ° μ΄μ κΉμ§ 1μ© μ¦κ°νλ ν μλ₯Ό λ§λλ ν¨μμ΄λ€.
x = torch.arange(1,6)
describe(x)
x = torch.arange(6)
describe(x)
- veiw λ©μλλ λμΌν λ°μ΄ν°λ₯Ό 곡μ νλ μλ‘μ΄ ν μλ₯Ό λ§λλ λ©μλ
x = x.view(2,3)
describe(x)
2.3 ν μ sum νμ©νκΈ° (axis, dim)
axisμ κ°λ μ μμμΌνλ€.
- dim =0 μ΄λΌλ 맀κ°λ³μλ₯Ό μΆκ°ν΄μ£ΌμκΈ° λλ¬Έμ, col κΈ°μ€μΌλ‘ sumμ νκ² λλ€. tensorμ ννλ 2row 3col ννμκ³ col κΈ°μ€μΌλ‘ λνμΌλκΉ sumν tensor sizeλ 3μΌλ‘ μΆλ ₯λλ€. (κ²°κ³Ό μλ)
# tensorμμλ axis, dim λκ°μ§λ‘ μ¬μ©νκ³€ νλ€.
describe(torch.sum(x, dim = 0))
- axis (dim) = 1λ‘ νμ λλ rowκΈ°μ€μΌλ‘ μ°μ°λμ΄ size 2μΈ tensorκ° μΆλ ₯λλ€. (μλ)
describe(torch.sum(x, dim = 1))
- dim, axis 맀κ°λ³μ μμ΄ sumνκ² λλ©΄, tensor λ΄μ λͺ¨λ κ°μ λν κ°μ΄ μΆλ ₯λλ€.
# dim μμ΄ sumμ νλ©΄ λͺ¨λ κ°μ ν©μΉ κ°μ΄ λμ¨λ€.
describe(torch.sum(x))
2.4 ν μ νλ ¬ κ³±μ (mm)
2.5 ν μ μνλ ¬ ꡬνκΈ° (inverse, pinverse)
2.6 ν μ λκ°ν© ꡬνκΈ° (trace)