[PyTorch] 기초 사용법IT/AI2022. 9. 10. 22:19
Table of Contents
반응형
Load Packages
import numpy as np
import torch
Basic
PyTorch 기초 사용법
nums = torch.arange(9)
nums.shape
nums.numpy()
nums.reshape(3, 3)
randoms = torch.rand((3, 3))
zeros = torch.zeros((3, 3))
ones = torch.ones((3, 3))
torch.zeros_like(ones)
Operations
PyTorch로 수학연산 하기
nums * 3
nums = nums.reshape((3, 3))
nums + nums
result = torch.add(nums, 10)
result.numpy()
# Out
array([[10, 11, 12],
[13, 14, 15],
[16, 17, 18]], dtype=int64)
View
reshape와 같다.
range_nums = torch.arange(9).reshape(3, 3)
range_nums.view(-1)
range_nums.view(1, 9)
# Out
tensor([[0, 1, 2, 3, 4, 5, 6, 7, 8]])
Compile
numpy를 torch tensor로 불러오기
arr = np.array([1, 1, 1])
arr_torch = torch.from_numpy(arr)
arr_torch.float()
# tensor([1., 1., 1.])
Device 설정
device = 'cuda' if torch.cuda.is_available() else 'cpu'
arr_torch.to(device)
# Out - GPU 사용 가능
tensor([1, 1, 1], device='cuda:0', dtype=torch.int32)
AutoGrad
기울기 구하기
x = torch.ones(2, 2, requires_grad=True)
y = x + 2
print(x.grad_fn)
# Out
<AddBackward0 object at 0x000001FFE2A04148>
z = y * y * 3
out = z.mean()
print(z, out)
# Out
tensor([[27., 27.],
[27., 27.]], grad_fn=<MulBackward0>) tensor(27., grad_fn=<MeanBackward0>)
out.backward()
print(x.grad)
# Out
tensor([[4.5000, 4.5000],
[4.5000, 4.5000]])
반응형
'IT > AI' 카테고리의 다른 글
[PyTorch] 데이터 불러오기 (0) | 2022.09.13 |
---|---|
TensorFlow 2.0과 PyTorch 비교 (0) | 2022.09.13 |
[TensorFlow 2.0] Evaluating & Prediction (0) | 2022.09.10 |
[TensorFlow 2.0] Optimizer 및 Training (Expert) (0) | 2022.09.08 |
[TensorFlow 2.0] Optimizer 및 Training (Keras) (0) | 2022.09.08 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!