본문 바로가기
AI Framework/PyTorch

[PyTorch] 2주차: PyTorch의 기본 연산

by cogito21_python 2024. 5. 30.
반응형

강의 목표

  • Tensor의 다양한 조작 방법 이해
  • PyTorch에서 제공하는 다양한 기본 연산 함수 사용법 습득
  • 기본 연산을 통한 간단한 문제 해결

강의 내용

1. Tensor 조작

  • Tensor 생성 복습
    • 직접 생성, Numpy 배열로부터 생성, 초기화 방법
  • Tensor 조작
    • Tensor의 크기 변경 (Reshaping)
import torch

# Reshaping
a = torch.arange(6)
print(a)
b = a.reshape((2, 3))
print(b)

  

  • Indexing 및 Slicing
# Indexing
x = torch.tensor([[1, 2, 3], [4, 5, 6]])
print(x)
print(x[0, 0])  # 첫 번째 행, 첫 번째 열 요소

# Slicing
print(x[:, 1])  # 모든 행의 두 번째 열

 

  • Joining (Concatenation) 및 Splitting
# Concatenation
y = torch.tensor([[7, 8, 9], [10, 11, 12]])
z = torch.cat((x, y), dim=0)  # 행 방향으로 결합
print(z)
z = torch.cat((x, y), dim=1)  # 열 방향으로 결합
print(z)

# Splitting
split_x = torch.split(x, 1, dim=0)  # 행 단위로 분할
print(split_x)

 

2. 기초 연산

  • 기본 수학 연산
    • 덧셈, 뺄셈, 곱셈, 나눗셈
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

# 덧셈
c = a + b
print(c)

# 뺄셈
d = a - b
print(d)

# 곱셈
e = a * b
print(e)

# 나눗셈
f = a / b
print(f)
  • Broadcast 및 Element-wise 연산
# Broadcasting
a = torch.tensor([[1], [2], [3]])
b = torch.tensor([4, 5, 6])
c = a + b
print(c)

# Element-wise 연산
d = torch.tensor([1, 2, 3])
e = torch.tensor([4, 5, 6])
f = d * e
print(f)

 

3. 통계 및 수학 함수

  • 기본 통계 함수
    • 평균, 표준 편차, 최대값, 최소값
x = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])

mean_x = torch.mean(x)
print(mean_x)

std_x = torch.std(x)
print(std_x)

max_x = torch.max(x)
print(max_x)

min_x = torch.min(x)
print(min_x)
  • 수학 함수
    • 제곱, 제곱근, 지수, 로그
       
x = torch.tensor([1.0, 2.0, 3.0])

square_x = torch.square(x)
print(square_x)

sqrt_x = torch.sqrt(x)
print(sqrt_x)

exp_x = torch.exp(x)
print(exp_x)

log_x = torch.log(x)
print(log_x)

 

4. 실습 및 과제

  • 실습 과제
    • Tensor 생성 및 다양한 조작, 연산을 사용하여 간단한 문제 해결
    • 주어진 배열을 Tensor로 변환하고, 다양한 통계 및 수학 함수를 사용하여 분석
# 실습 과제 예시
# 1. 주어진 리스트를 Tensor로 변환하고 각 요소의 제곱 값을 구하세요.
my_list = [2, 3, 4, 5]
tensor = torch.tensor(my_list)
squared_tensor = torch.square(tensor)
print(squared_tensor)

# 2. 랜덤 값으로 이루어진 3x3 Tensor를 생성하고, 각 열의 평균 값을 구하세요.
random_tensor = torch.rand((3, 3))
mean_values = torch.mean(random_tensor, dim=0)
print(mean_values)

 

  • 과제 제출
    • Jupyter Notebook 파일로 제출
    • 제출 기한: 다음 강의 시작 전까지

 

 
 
반응형

'AI Framework > PyTorch' 카테고리의 다른 글

[PyTorch] 4주차: 신경망 기본 구조  (0) 2024.05.30
[PyTorch] 3주차: 자동 미분과 Autograd  (0) 2024.05.30
[PyTorch] 1주차: PyTorch 소개 및 설치  (0) 2024.05.30
[PyTorch] 강의 목차  (0) 2024.05.30
[PyTorch] PyTorch  (0) 2024.05.15