λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Deep Learning/PyTorch

(2)
μžλ™ λ―ΈλΆ„(Automatic differentiation) μ‚¬μš©λ²• νŒŒμ΄ν† μΉ˜μ˜ μžλ™ λ―ΈλΆ„(Auto differentiation)을 μ΄μš©ν•œ 변화도(Gradient) 계산 방법을 μ•Œμ•„λ³Ό 것이닀. λ‹€λ£° λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™λ‹€. 1. μžλ™ λ―ΈλΆ„ μ€€λΉ„ 2. 변화도 계산 1. μžλ™ λ―ΈλΆ„ μ€€λΉ„ In: import torch x = torch.ones(2, 2, requires_grad = True) print(x) Out: tensor([[1., 1.], [1., 1.]], requires_grad=True) β–· torch.ones()에 ν…μ„œ 크기에 λŒ€ν•œ μΈμžμ™€ requires_grad 인자λ₯Ό μ£Όμ–΄ ν…μ„œλ₯Ό μƒμ„±ν•˜μ˜€λ‹€. κ²°κ³Ό 창에 requires_grad=Trueκ°€ λ‚˜νƒ€λ‚œ 것을 λ³Ό 수 μžˆλŠ”λ°, μ΄λŠ” 이후 μ—­μ „νŒŒ 과정을 μˆ˜ν–‰ ν›„, ν•΄λ‹Ή ν…μ„œμ˜ 변화도λ₯Ό ꡬ할 수 μžˆλ„λ‘ ν•œλ‹€. In: y = ..
ν…μ„œ(Tensor) μ‚¬μš©λ²• νŒŒμ΄ν† μΉ˜μ˜ ν…μ„œ(Tensor)의 μ‚¬μš©λ²•μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž. λ‹€λ£° λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™λ‹€. 1. ν…μ„œμ˜ 생성 2. ν…μ„œμ˜ μ—°μ‚° 3. ν…μ„œμ˜ λ³€ν™˜ 1. ν…μ„œμ˜ 생성 In: import torch x = torch.rand(5, 3) print(x) Out: tensor([[0.1501, 0.8814, 0.4848], [0.0723, 0.9468, 0.1327], [0.8581, 0.8050, 0.4441], [0.4888, 0.0157, 0.6959], [0.9666, 0.4729, 0.1983]]) β–· torch.rand()λ₯Ό μ΄μš©ν•˜μ—¬ 0κ³Ό 1 μ‚¬μ΄μ˜ μž„μ˜μ˜ μˆ˜κ°€ μ›μ†ŒμΈ 5Γ—3 행렬이 λ§Œλ“€μ—ˆλ‹€. ν•¨μˆ˜ μ•ˆμ˜ 두 μΈμžλŠ” ν–‰κ³Ό 열을 λ‚˜νƒ€λ‚Έλ‹€. In: x = torch.rand(5, 3, 3) print(x) Out:..