Programming/Pytorch

Programming/Pytorch

torch 모델 저장 및 불러오기

파이토치는 모델을 .pt 또는 .pth 확장자를 사용하여 모델을 저장한다. 모델을 저장하는 방법은 두 가지가 있다. 전체 모델을 저장하거나 파라미터만 저장한다. 전체 모델을 저장하면 모델 파일의 사이즈가 커지지만 다른 파일에서 불러올 때 모델 구조에 대해서 미리 선언해주지 않아도 통째로 불러올 수가 있다. 파라미터마 저장하면 모델 파일의 사이즈가 작아지지만 파라미터를 불러오기 전에 동일하게 모델을 선언해주고 그 모델에 파라미터를 대입해주어야한다. 1. 전체 모델 저장 및 로드 # 저장 torch.save(model, 'save/to/path/model.pt') # 로드 model = torch.load('load/from/path/model.pt') 2. 파라미터 저장 및 로드 # 저장 torch.sav..

Programming/Pytorch

Resnet50 finetuning - CIFAR10 DATASET

*.pt 모델을 *.onnx로 변환하고 최종적으로 tensorRT *.engine 까지 변환하는 테스트를 위해 파이토치 공부하는 겸 모델을 하나 빌드하기로 했다. 간단하게 CNN 레이어 몇 개 해서 간단한 모델을 작성해볼 수 있지만, 이건 해봤고 pretrained net 가지고와서 finetuning 하는 건 torch로 안해봐서 해보기로 했다. 사용할 데이터 셋은 torchvision dataset에서 제공해주는 CIFAR10 import import torch from torch import nn import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from torchvision import datasets ..

Programming/Pytorch

torch.onnx.export() option

torch.onnx.export Signature: torch.onnx.export( model: 'Union[torch.nn.Module, torch.jit.ScriptModule, torch.jit.ScriptFunction]', args: 'Union[Tuple[Any, ...], torch.Tensor]', f: 'Union[str, io.BytesIO]', export_params: 'bool' = True, verbose: 'bool' = False, training: '_C_onnx.TrainingMode' = , input_names: 'Optional[Sequence[str]]' = None, output_names: 'Optional[Sequence[str]]' = None, opera..

Programming/Pytorch

[yolov7] hyperparameter evolve : Index Error: index 30 is out of bounds for axis 0 with size 30

yolov7으로 evolve 하는데 에러가 났다. Index Error: index 30 is out of bounds for axis 0 with size 30 yolov7의 train.py evolve 부분을 확인 yolov5 train.py 582~606 yolov7 train.py 664~688, error line 687 플로우는 거의 동일한데 hyp, meta의 값들이나 중간 중간 변수들을 선언해주는 내용이 달랐고, 조금씩 다르다보니 for문을 돌리는 과정에서 인덱스가 안 맞는것 같았다. 깃헙 이슈에서도 이미 같은 문제를 찾은 사람들이 있었고 https://github.com/WongKinYiu/yolov7/issues/999 IndexError: index 30 is out of bounds..

Heaea
'Programming/Pytorch' 카테고리의 글 목록