pytorch란?
기존 수치 연산 라이브러리인 numpy를 딥러닝 연구목적으로 gpu에서도 사용하고자 탄생하게된 딥러닝 플랫폼이다.
numpy의 다차원 배열 (ndarray) 같은거라고 보면된다.
하지만 gpu사용이 가능한 더 빠르게 연산할수있는 그런녀석
torch.from_numpy(n)
a = np.ones(5000)
b = torch.from_numpy(a)
np.add(a,10, out=a)
print(a)
print(b)
[11. 11. 11. ... 11. 11. 11.]
tensor([11., 11., 11., ..., 11., 11., 11.], dtype=torch.float64)
tensor.numpy(t)
t = torch.ones(5)
print(f"t: {t}")
n = t.numpy()
print(f"n: {n}")
t: tensor([1., 1., 1., 1., 1.])
n: [1. 1. 1. 1. 1.]
tensor = torch.ones(4, 4)
tensor([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])
tensor[:,1] = 0
tensor([[1., 0., 1., 1.], [1., 0., 1., 1.], [1., 0., 1., 1.], [1., 0., 1., 1.]])
tensor[2:,1] = 0
tensor([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 0., 1., 1.], [1., 0., 1., 1.]])
tensor[:2,1] = 0
tensor([[1., 0., 1., 1.], [1., 0., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])
x = torch.rand(5,3)
print(x)
tensor([[0.9390, 0.6715, 0.8244], [0.6373, 0.9764, 0.4452], [0.9505, 0.8122, 0.6476], [0.0674, 0.4005, 0.5773], [0.1729, 0.0376, 0.2119]])
tensor([[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]])
tensor * tensor
tensor([[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.],
[1., 0., 1., 1.]])
tensor @ tensor.T
tensor([[3., 3., 3., 3.],
[3., 3., 3., 3.],
[3., 3., 3., 3.],
[3., 3., 3., 3.]])