반응형
강의 목표
- 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 |