본문으로 건너뛰기

Sample Data 등록

  • Tutorial 진행을 위한 Sample Data를 등록합니다.
  • Sample Image 1개를 담은 폴더와, 샘플 모델 파일 SampelModel.pth를 준비합니다.

1. 데이터셋 등록

Create Dataset

  • 관리 - 데이터셋 메뉴를 선택합니다.
  • 데이터셋 추가 합니다.

Create Dataset Image

  • ID를 지정한 뒤, 이미지 경로를 선택합니다.
  • 이미지 경로는 Sample Image 1개를 담은 폴더를 선택합니다.
  • 이후 확인을 클릭합니다.

Save Dataset

  • 업로드가 완료되면 데이터셋 화면에 추가한 데이터가 업데이트 됩니다.



2. 샘플 모델 파일 등록

Sample Model

  • SampleModel.pth는 사전에 학습한 샘플데이터로, pytorch 기반 모델입니다.
    • input은 299x299, output은 one hot code 0~8입니다.
  • SampleModel.pthmodel_handler.py를 새로 만들어 한 폴더에 구성합니다.
  • model_handler.py 파일 내용을 다음과 같이 구성합니다.
📜 model_handler.py 예시 코드 보기
import os
import pickle
import numpy as np
import torch
import cv2
import logging

logger = globals().get('JOB_LOGGER', logging.getLogger())
logger.setLevel(logging.INFO)

class ModelHandler:
def __init__(self, data, context):
self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
self.base_path = os.path.dirname(os.path.abspath(__file__))

model_path = os.path.join(self.base_path, "SampleModel.pth")
self.model = torch.load(model_path, map_location=self.device)
self.model.to(self.device)
self.model.eval()

logger.info(f"[LOG] 모델 로드 완료")

def __call__(self, data, context):
# 데이터 로드
data = pickle.loads(data)
images = np.array(data)
images = images.astype(np.float32) / 255.0 # 정규화

# 텐서 변환
images = torch.from_numpy(images).permute(2, 0, 1).unsqueeze(0).to(self.device)

# 추론 수행
with torch.no_grad():
predict_result = self.model(images)
predict_result = predict_result.cpu().numpy()

# 결과 처리
result = {}
result['result_code'] = int(np.argmax(predict_result))
result['score'] = float(np.max(predict_result))

logger.info(f"[RESULT] 예측: {result['result_code']}, 점수: {result['score']:.4f}")

return pickle.dumps(result), context

if __name__ == "__main__":
# Local Test
img = np.random.randint(0, 255, (299, 299, 3), dtype=np.uint8)
data = pickle.dumps(img)

handler = ModelHandler(None, None)
result, context = handler(data=data, context={})
result_dict = pickle.loads(result)

print(f"결과: {result_dict['result_code']}, 점수: {result_dict['score']:.4f}")

Sample Model

  • 학습 - 추론 모델 메뉴를 선택합니다.
  • 추론 모델 추가 합니다.

Create Sample Model

  • 추가한 뒤에 버전을 추가합니다.

Create Model Version

Create Sample Model Version

  • 추가에 필요한 자세한 내용은 모델 추가를 참고하십시오.

Create Sample Model Version

  • 다음과 같이 추론 모델이 추가가 되면 Sample Data의 모든 준비가 마무리 되었습니다.
  • 더 자세한 내용은 매뉴얼 문서를 참조하시기 바랍니다.