728x90 분류 전체보기423 [PyTorch] 모델 불러오기 Model.save() 는 중요하다. model training은 상당히 오랜시간이 걸린다. 따라서 모델의 학습결과를 저장하는 것은 필요하다. model.save() - 학습의 결과를 저장하기 위한 함수 - 모델 형태(architecture)와 파라미터를 저장 - 모델 학습 중간 과정의 저장을 통해 최선의 결과모델을 선택할 수 있다. - 만들어진 모델을 외부 연구자와 공유하여 학습 재연성 향상시킬 수 있다. Checkpoints - 학습의 중간 결과를 저장하여 최선의 결과를 선택 - earlystopping 기법 사용시 이전 학습의 결과물을 저장 - loss와 metric 값을 지속적으로 확인 저장 - 일반적으로 epoch, loss, metric을 함께 저장하여 확인 - colab에서 지속적인 학습을 .. 2022. 12. 24. [PyTorch] Dataset & Dataloaders 모델에 데이터를 넣을려면 어떻게 해야할까? 자료를 모은다(collecting) → 자료를 정리한다(cleaning) → 전처리 작업 (pre processing) → 데이터(Data) 완성! 그럼 이것을 바로 모델에 넣으면 될까? NO! Dataset 클래스(class)를 통해 목적에 맞는 데이터 값을 받고 이것을 DataLoader라는 것을 통해 Model에 맞는 batch 등 Model input에 맞게 다듬은 다음에 Model에 넣는 것이다. 뭔 말이지...? 그래서 우선 하나씩 알아보자 Dataset 클래스 - 데이터 입력 형태를 정의하는 클래스 - 데이터를 입력하는 방식을 표준화 한다는 것에 의의가 있다. - Image, Text, Audio 등에 따른 다른 입력 정의를 내린다. - 클래스 안에.. 2022. 12. 24. [PyTorch] torch.nn.Module에 대해서 torch.nn.Module - 딥러닝을 구성하는 Layer의 base class - Input, Output, Forward, Backward 정의 - 학습의 대상이 되는 parameter(tensor) 정의 파이토치 공식 document에서 명시한 코드로 예시를 써놓는다. https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module Module — PyTorch 1.13 documentation Shortcuts pytorch.org import torch.nn as nn # 신경망에서 일반적으로 사용되는 모든 연산은 torch.nn모듈에서 활용 가능 import torch.nn.functional as F class M.. 2022. 12. 24. [PyTorch] 파이토치 기본 구조에 대해서 알아보자 Tensor handling view, squeeze, unsqueeze 등으로 Tensor을 조정할 수 있다. - view: reshaper과 동일하게 tensor의 shape을 변환 - squeeze: 차원의 개수가 1인 차원을 삭제(압축) ex) $ 2 \times 2 \times 1$ 행렬을 $ 2 \times 2$ 행렬로 변환 - unsqueeze: 차원의 개수가 1인 차원을 추가 그럼 view와 reshape의 차이는 무엇일까? view는 contigious(인접한)것이 아니면 사용할 수 없다는 것이다. contigious는 무엇을 이야기 할까? 각 원소별로 메모리 주소를 보자 X, Y 모두 torch.float32 자료형은 4바이트이므로, 메모리 1칸 당 주소 값이 4씩 증가한다. X는 메모.. 2022. 12. 23. 이전 1 ··· 90 91 92 93 94 95 96 ··· 106 다음 728x90