학습한내용
import torch
import torch.nn as nn
import numpy as np
import pandas as pd
loaded_model = torch.load(f='./lr.pt')
#학습된 모델을 불러와서 원하는 라벨을 넣어 너비,길이,무게를 알려줌
def display_results(modelss, x):
model = nn.Linear(54,3)
model.load_state_dict(modelss)
model.eval()
with torch.no_grad():
outputs = model(x)
width=outputs[0]
weight=outputs[1]
height=outputs[2]
return width,weight,height
classes = ['apple_fuji_l', 'apple_fuji_m', 'apple_fuji_s', 'apple_yanggwang_l', 'apple_yanggwang_m',
'apple_yanggwang_s', 'cabbage_green_l', 'cabbage_green_m', 'cabbage_green_s', 'cabbage_red_l',
'cabbage_red_m', 'cabbage_red_s', 'chinese-cabbage_l', 'chinese-cabbage_m', 'chinese-cabbage_s',
'garlic_uiseong_l', 'garlic_uiseong_m', 'garlic_uiseong_s', 'mandarine_hallabong_l',
'mandarine_hallabong_m', 'mandarine_hallabong_s', 'mandarine_onjumilgam_l', 'mandarine_onjumilgam_m',
'mandarine_onjumilgam_s', 'onion_red_l', 'onion_red_m', 'onion_red_s', 'onion_white_l', 'onion_white_m',
'onion_white_s', 'pear_chuhwang_l', 'pear_chuhwang_m', 'pear_chuhwang_s', 'pear_singo_l', 'pear_singo_m',
'pear_singo_s', 'persimmon_bansi_l', 'persimmon_bansi_m', 'persimmon_bansi_s',
'persimmon_booyu_l', 'persimmon_booyu_m', 'persimmon_booyu_s', 'persimmon_daebong_l',
'persimmon_daebong_m', 'persimmon_daebong_s', 'potato_seolbong_l', 'potato_seolbong_m',
'potato_seolbong_s', 'potato_sumi_l', 'potato_sumi_m', 'potato_sumi_s', 'radish_winter-radish_l',
'radish_winter-radish_m', 'radish_winter-radish_s']
classess=[39,38,37,42,41,40,45,44,43,48,47,46,33,32,31,24,23,22,6,5,4
,3,2,1,54,53,52,51,50,49,36,35,34,30,29,28,12,11,10,15,14,13,9,8,
7,18,17,16,21,20,19,27,26,25]
data=pd.get_dummies(classes)
label=torch.Tensor([index])
label=int(torch.Tensor.numpy(label)[0])
for i in range(0,54):
if i==classess[label]-1:
x=data.values[i]
x=np.array(x)
x=torch.Tensor(x)
stat=display_results(loaded_model,x)
print(stat)
실행결과
사과부사특의 경우 다음과 같은 너비,길이,무게를 갖고있음
flask를 이용 웹에 모델을 연동하여 classification과 linear regression 결과를 제공
학습한 내용 중 어려웠던 점 또는 해결못한 것들
해결방법 작성
학습 소감
정제된 데이터가 아닌 일반적인 이미지가 들어올때도 잘 분류할수 있는 방법은 무엇인지 알아봐야겠다. flask로 웹에 연동하는 부분이 재미있었다.