TIL 2021/08/18
4179 단어 부스트캠프 AI TechTILTIL
#AutoGrad & Optimizer
- nn.Parameter
- Tensor 객체의 상속 객체
- nn.Module 내에 attribute가 될 때는 required_grad = True 로 지정되어 학습대상이 되는 tensor임
- 우리가 직접 지정할 일은 잘 없음
- backward
- Layer에 있는 Parameter들의 미분을 수행
- Forward의 결과값 (model의 output = 예측치)와 실제 값간의 차이(loss)에 대해 미분을 수행
- 해당 값으로 Parameter 업데이트
- backward from the scratch
- 실제 backward는 Module 단계에서 직접 지정가능
- Module에서 backward와 optimizer 오버라이딩
- 사용자가 직접 미분 수식을 써야하는 부담 쓸일은 없으나 순서를 이해할 필요는 있음
#Pytorch Dataset
- 데이터 입력 형태를 정의하는 클래스
- 데이터를 입력하는 방식의 표준화
- Image, Text, Audio 등에 따른 다른 입력 정의
example)
import torch
from torch.utils.data import Dataset
class CustomDataset(Dataset):
def __init__(self, text, labels):
self.labels = labels
self.data = text
def __len__(self):
return len(self.labels)
def __getitem__(self, idx):
label = self.labels[idx]
text = self.data[idx]
sample = {"Text"; text, "Class":label}
return sample
-
Dataset 클래스 생성시 유의점
- 데이터 형태에 따라 각 함수를 다르게 정의함
- 모든 것을 데이터 생성 시점에 처리할 필요는 없음
- 데이터 셋에 대한 표준화된 처리방법 제공 필요
- 최근에는 HuggingFace등 표준화된 라이브러리 사용
-
DataLoader
- Data의 Batch를 생성해주는 클래스
- 학습직전(GPU feed전) 데이터의 변환을 책임
- Tensor로 변환 + Batch 처리가 메인 업무
- 병렬적인 데이터 전처리 코드의 고민 필요
회고
- 생각보다 이번주차에 할일이 많아졌음
- 아무래도 Pytorch 기초라고 하길래 생각보다 공부할 부분이 없을거라고 생각했는데 hook이나 이런 부분은 생소해서 시간을 많이 썼음
- 스터디에서도 어려운 부분이 많아서 최대한 열심히 해서 일정을 맞춰봐야할거 같음
Author And Source
이 문제에 관하여(TIL 2021/08/18), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@gunwoohan/TIL-20210818-idc89t5o
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Author And Source
이 문제에 관하여(TIL 2021/08/18), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gunwoohan/TIL-20210818-idc89t5o저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)