Pytorch Tutorials - Introduction to PyTorch on YouTube

송하·2023년 6월 26일
0

Pytorch Tutorials

목록 보기
2/4
post-thumbnail

1. Introduction to PyTorch

PyTorch Tensors

  • dtype의 기본값을 변경하면 tensor가 출력될 때 데이터 타입을 확인할 수 있다. (기본값: 32비트 부동소수점/torch.float32)

PyTorch Models

  • 일반적인 PyTorch 모델
    1. 모듈은 중첩될 수 있으며 torch.nn.Module 에서 상속됨.
    2. 모델은 계층을 인스턴스화하고 필요한 데이터 아티팩트를 로드하는 __init__() 함수를 가지고 있다.
    3. 모델은 forward() 함수를 가지고 있고 여기서 실제 계산이 수행된다. 입력은 네트워크 계층 및 다양한 기능들을 통과시켜 결과를 생성한다.
    4. 그 외에는 다른 파이썬 클래스처럼 모델 클래스를 구성할 수 있다.

  • input = torch.rand(1, 1, 32, 32)
    → 배치 크기(batch size) = 1, 이미지의 채널(channel) 수 = 1, 이미지의 높이(height) = 32, 이미지의 너비(width) = 32
    → 이때 LeNet을 통과한 output shape = [1(배치 크기(batch size)), 10(각 클래스에 대한 출력값)]

Datasets and Dataloaders

  • transforms.Normalize(): 평균과 표준 편차를 지정하여 tensor의 값을 조정
    → 만약 평균을 0으로 두고 표준화를 하면 x=0에 강한 기울기 값을 가지고 있어 데이터를 중앙으로 집중화하여 학습 속도를 높일 수 있다.

Training Your PyTorch Model

2. Introduction to PyTorch Tensors

Creating Tensors

  • torch.empty(): 원하는 값 만큼 행렬 초기화
    → 텐서를 출력하면 무작위로 보이는 값을 보게 되는데, 이는 torch.empty()가 텐서를 위한 메모리를 할당하지만 어떤 값으로도 초기화하지 않기 때문에 할당 시점에 메모리에 있던 모든 것이 표시된다.

Tensor Shapes

  • torch.*_like(x): 주어진 텐서(x)와 동일한 크기(shape)와 데이터 타입(dtype)을 가지는 새로운 텐서를 생성하는 함수 (*함수로 생성)

Altering Tensors in Place

  • 함수 끝에 _를 붙이면 메모리의 새로운 할당 없이 새로운 값을 변수에 저장할 수 있다.
profile
Master Student @ KU👩🏻‍🎓

0개의 댓글