x = torch.rand(3, 4)
y = x.unsqueeze(0)
import torch
x = torch.rand(2, 3)
y = x.view(-1)
NLP의 경우 최소 4차원 이상의 텐서를 사용해야 한다. (X) : 3차원 이상의 텐서로 처리가 가능하다
두 개의 텐서를 수직으로 쌓아 새로운 텐서를 만들 때, torch.concat ****을 쓰면 된다. (O) : torch.cat과 같은 역할을 수행함
넘파이에서는 GPU에서 텐서 조작 및 동적 신경망 구축이 가능하다. (X) : SIMD라는 병렬 프로세서를 사용하는데, CPU에서 작동함.
넘파이와 다르게 파이토치에서는 자동 미분 패키지가 있는 장점이 있다. (O) : 넘파이는 코드를 작성해야하지만, 파이토치에서는 가능함.(Autograd 모듈)
다음의 실행 결과는 옳다. (이유도 설명하시오)
import torch
m1 = torch.FloatTensor([[1, 2]])
m2 = torch.FloatTensor([[3], [4]])
print(m1 + m2)
출력 : tensor([[4., 5.], [5., 6.]])
[이유] 파이토치에서는 크기가 다른 행렬이어도, 브로드캐스팅이 가능하기 때문에
실행 결과가 옳은지 판단하시오. (X)
t = np.array([[[0, 1, 2],[3, 4, 5]], [[6, 7, 8],[9, 10, 11]]])
ft = torch.FloatTensor(t)
print(ft.shape)
출력 : torch.Size([3, 2, 2])
[이유] ft.shape = (2, 2, 3)
In-place operation 중 c을 쓰면 해당 텐서의 메모리 공간을 직접 조작하므로 텐서의 값이 직접 변경된다.
<aside> ✅ 답안 미작성 -1점 / 정답: O
</aside>