728x90
반응형
베스트 결과가 나온 모델을 저장해놓고 사용하는 법을 간략히 소개합니다!
Resnet18 예시)
model = models.resnet18(pretrained=True)
model.load_state_dict(torch.load('base_model.pth', map_location=torch.device('cpu')))
transform = transforms.Compose([
transforms.RandomHorizontalFlip(p=0.5),
transforms.RandomVerticalFlip(p=0.5),
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
먼저 어떤 모델을 사용할거다 알려주고, 저장한 파일 값을 불러옵니다.
전처리가 필요하다면 transform을 이용해서 이미지 데이터를 전처리 합니다.
image = Image.open(img)
image = transform(img).unsqueeze(0)
model.eval()
with torch.no_grad():
output = model(image)
pred_index = output.argmax().item()
return pred_index
그리고 나서 사용할 이미지 파일을 열고, transform을 통해 전처리 한 이후에
model.eval을 통해서 evaluation모드로 지정하고 모델에 이미지를 넣어줍니다.
나온 결과값 중, argmax 를 통해서 어떤 인덱스값을 결과로 주는지 받아오면 됩니다.
728x90
반응형
'Data Science > Deep Learning' 카테고리의 다른 글
강화학습 시뮬레이션을 위한 공부 사이트 추천 : Gym (0) | 2023.04.10 |
---|---|
빠르고 간편한 Pytorch Lightning 개념 정리 (0) | 2023.04.04 |
캐글 GPU 아끼는 방법! (코드 첨부) (0) | 2023.01.25 |
Face Detection 의 역사 및 응용코드 (0) | 2023.01.25 |
model.fc.in_features 의미 (0) | 2023.01.23 |
댓글