본문 바로가기
AI Framework/PyTorch

[PyTorch] 1주차: PyTorch 소개 및 설치

by cogito21_python 2024. 5. 30.
반응형

강의 목표

  • PyTorch에 대한 기본 개념 이해
  • 개발 환경 설정 및 PyTorch 설치
  • Tensor의 기본 개념 및 연산 이해

강의 내용

1. PyTorch 소개

  • PyTorch란 무엇인가?
    • PyTorch는 Python 기반의 오픈 소스 머신러닝 라이브러리로, 연구 및 개발을 위해 널리 사용됩니다.
    • Facebook AI Research (FAIR)에서 개발되었으며, 동적 연산 그래프와 유연한 설계로 유명합니다.
  • 다른 딥러닝 프레임워크와의 비교
    • TensorFlow, Keras와 비교
    • 동적 연산 그래프 vs 정적 연산 그래프
    • PyTorch의 장단점

2. 환경 설정

  • Anaconda 설치
  • PyTorch 설치
    • PyTorch 공식 웹사이트를 통해 설치
    • CUDA (GPU 가속) 설치 여부 선택
    • 설치 명령 예시 (Windows, Linux, Mac 모두 포함) 
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

 

3. PyTorch 기본 문법

  • Python 및 Jupyter Notebook 기본 소개
    • Python의 기본 문법
    • Jupyter Notebook 사용법
  • Tensor 개념 및 기본 연산
    • Tensor란 무엇인가?
    • Numpy와 Tensor의 비교

4. Tensor 생성 및 조작

  • Tensor 생성 방법
    • 직접 생성
    • Numpy 배열로부터 생성
    • 초기화 방법 (zeros, ones, random 등)
     
import torch
import numpy as np

# 직접 생성
x = torch.tensor([1, 2, 3, 4])
print(x)

# Numpy 배열로부터 생성
np_array = np.array([5, 6, 7, 8])
y = torch.from_numpy(np_array)
print(y)

# 초기화
z = torch.zeros((2, 3))
print(z)

w = torch.ones((2, 3))
print(w)

r = torch.rand((2, 3))
print(r)

 

 

  • Tensor의 기본 연산
    • 기본 수학 연산 (덧셈, 뺄셈, 곱셈, 나눗셈)
    • 브로드캐스팅 및 Element-wise 연산

 

a = torch.tensor([1.0, 2.0])
b = torch.tensor([3.0, 4.0])

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

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

# 브로드캐스팅
e = torch.tensor([[1.0], [2.0], [3.0]])
f = torch.tensor([1.0, 2.0])
g = e + f
print(g)

 

 

5. 실습 및 과제

  • 실습 과제
    • Tensor 생성 및 다양한 연산을 사용하여 간단한 문제 해결
    • 주어진 배열을 Tensor로 변환하고, 기본 연산을 수행하는 코드 작성
# 실습 과제 예시
# 1. 주어진 리스트를 Tensor로 변환하고 각 요소에 2를 더하는 연산을 수행하세요.
my_list = [1, 2, 3, 4]
tensor = torch.tensor(my_list)
result = tensor + 2
print(result)

# 2. 랜덤 값으로 이루어진 Tensor를 생성하고, 그 Tensor의 평균 값을 구하세요.
random_tensor = torch.rand((4, 5))
mean_value = torch.mean(random_tensor)
print(mean_value)

 

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

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

[PyTorch] 3주차: 자동 미분과 Autograd  (0) 2024.05.30
[PyTorch] 2주차: PyTorch의 기본 연산  (0) 2024.05.30
[PyTorch] 강의 목차  (0) 2024.05.30
[PyTorch] PyTorch  (0) 2024.05.15
[PyTorch] PyTorch 개요 및 환경설정  (0) 2024.05.15