Lab-01-1 필기.pdf

Lab-01-2 필기.pdf

실습문제 1번

import torch

x = torch.rand((5,3))
print(x.ndim)
print(x.shape)

y = x.view([15,])
print(y.shape)

print(y.mean()) 
print(y.sum()) 
print(y.max(dim=0)) 
print(y.max(dim=0)[0]) 

실습문제 2번

import torch
x = torch.ones(10, 5, 1, 3, 1)

# size가 1인 차원 전체 삭제해봅시당
x1 = x.squeeze()
print(x1.shape) # torch.Size([10, 5, 3]) 라는 결과가 출력 되어야 합니다! 

# size가 1인 차원 일부 삭제 : (A, B, 1, C) 차원 형태
x2 = x.squeeze(dim=2)
print(x2.shape) # torch.Size([10, 5, 3, 1]) 라는 결과가 출력 되어야 합니다! 

x = torch.ones(3, 5, 7)

# 1번과 2번 사이에 dimension 추가
x1 = x.unsqueeze(1) 
print(x1.shape) # torch.Size([3, 1, 5, 7])라는 결과가 출력 되어야 합니다! 

# 마지막 자리에 dimension 추가
x2 = x.unsqueeze(-1)
print(x2.shape)

이론문제 1번

  1. squeeze() 함수는 모든 차원에서 크기가 1인 축을 제거한다. (O/X) O
  2. 아래 코드에서 y 텐서의 크기는 (1, 3, 4)다. (O/X) O
x = torch.rand(3, 4)
y = x.unsqueeze(0)
  1. 아래 코드에서 y 텐서의 크기는 (6,)다. (O/X) O
import torch

x = torch.rand(2, 3)
y = x.view(-1)
  1. NLP의 경우 최소 4차원 이상의 텐서를 사용해야 한다. (O/X)

    3차원 이상부터

  2. 두 개의 텐서를 수직으로 쌓아 새로운 텐서를 만들 때, torch.concat ****을 쓰면 된다. (O/X) cat