본문 바로가기

Torch10

[PyTorch] Custom Model 과 torch.nn.Module의 메서드들. Custom Model 만들기 1. top-level attribute로 sub-module추가. 가장 간단하게 sub-module (layer or activation)을 추가하는 방법임. 주의할 것은 top-level attribute가 아닌, list나 dictionary 인스턴스 로 싸고 있는 형태로 추가될 경우, parameters를 통해 제대로 찾지 못하며, 이는 optim 등에서 해당 파라메터나 sub-module의 파라메터를 추적하지 못하는 문제점이나 GPU로 이동시킬 때 해당 파라메터를 제대로 이동시키지 못하는 문제를 일으키게 된다.이에 대한 부분은 다음 URL을 참고할 것.2024.05.17 - [분류 전체보기] - [DL] PyTorch: nn.ModuleList, nn.ModuleD.. 2024. 4. 12.
[PyTorch] CustomANN Example: From Celsius to Fahrenheit Optional Libraries torchviz: 0.0.2 torchsummary: 1.5.1 pip install --quiet torchviz pip install torchsummary Required Libraries torch : 2.2.1+cu121 np : 1.25.2 import numpy as np import torch import matplotlib.pyplot as plt # import torchviz, torchsummary from torch.nn import Module, init, Linear, Parameter, ReLU from torch import optim Simple Data Generation def gen_xy(cnt, std=4.): x = np.lins.. 2024. 4. 12.
[PyTorch] torch.nn.init torch.nn.init 모듈 ANN을 구현할 때, 각 layer의 weight 와 bias를 초기화하는 방법을 제공함. 초기화는 ANN의 수렴 속도 및 학습 안정화에 매우 큰 영향을 줌. torch.nn.init는 일반적으로 사용되는 다양한 초기화 방법들이 구현되어 있음. .uniform_(tensor, a=0., b=1.) 지정된 parameters를 uniform distance로 초기화 a와 b는 값의 범위를 지정하는데 사용됨: [a,b) .normal_(tensor, mean=0., std=1.) normal distribution으로 초기화. .constant_(tensor, val=0.) val 에 지정된 상수값으로 초기화. .ones_() and .zeros_() 0과 1로 초기화. .xa.. 2024. 4. 11.
[PyTorch] Dataset and DataLoader Dataset 이란 PyTorch 의 tensor 와 학습에 사용될 일반 raw data (흔히, storage에 저장된 파일들) 사이에 위치하며, raw-data로부터 PyTorch의 기본데이터형 인 tensor를 얻게 해주는 역할을 수행하는 class임. 일반적으로 task에 따라 다양한 형태의 raw-data가 있기 때문에, 각 task별로 Custom Dataset을 만드는 경우가 잦음. Custom Dataset 만들기 torch.util.data 모듈의 Dataset을 상속하고, 다음의 methods를 overriding해야만 함. __init__(self) : Dataset 인스턴스에 대한 생성자로 데이터셋에 대한 초기화를 담당. raw-data에 따라 parameters를 자유롭게 추가할 .. 2024. 4. 9.
[DL] Tensor: Random Tensor 만들기 (NumPy, PyTorch) Random value를 얻는데 이용되는 Probability Distribution에 따라 크게 2가지로 나눌 수 있음. Uniform Distribution Normal Distribution Uniform Distribution Random Variable이 가질 수 있는 값들이 모두 같은 확률을 가짐. int형 element를 가지는 tensor를 반환하는 것들과 float형 element를 가지는 tensor를 반환하는 것으로 크게 나눌 수 있음. 가장 대표적인 함수 이름으로는 randint와 rand 가 있음. randint 가장 대표적인 int형 element를 가지는 random tensor를 생성하는데 사용됨. 다음과 같이 지원됨. np.random.randint( min, max+1, .. 2024. 3. 29.
[DL] Tensor에서 maximum, minimum 찾기 NumPy 의 ndarray에서 np.max 와 np.min 함수를 이용하여 최대, 최소인 값을 구함. 특정 축을 axis parameter로 지정하여 구할 수 있음 (결과는 해당 axis가 1이 됨.) np.argmax 와 na.argmin 함수를 이용하여 최대, 최소인 값의 index를 반환함. PyTorch 의 tensor 에서 torch.max와 torch.min 함수를 사용하여 최대값과 최소값을 구함. 특정 축을 dim parameter로 지정하여 구할 수 있음 (결과는 해당 축이 1이 됨.). 특정 축을 지정할 경우, torch.max와 torch.min은 indices를 같이 반환함. torch.argmax 와 torch.argmin 함수를 이용하여 최대, 최소값의 indices를 반환함. .. 2024. 3. 28.
반응형