251127 [ Day 97 ] - Project (18)

TaeHyun·2025년 11월 27일

TIL

목록 보기
114/184

시작하며

오늘은 머신러닝 모델을 불러올 때 조금 더 효율적이고 서버가 가벼워지는 방법을 공부해보고 이후 아두이노 회로 구상을 마친 뒤, 서버를 테스트해보았다. 서버에서는 flask의 jsonify를 반환할 때 한글이 깨져서 보이는 이슈가 생겨 로그 확인용 print는 한글로 유지하면서 return 부분의 jsonify만 영어로 교체하는 방향으로 수정을 할 예정이다.

LRU Cache

@lru_cache(maxsize=1)
def _load_model():
    """
    모델 사용시에만 최초 1회만 로드 진행
    @lru_cache으로 모델 로드 캐시 저장
    """
    if not MODEL_PATH.exists():
        print("모델 파일 없음")
        raise FileNotFoundError("모델 파일 없음")
    
    with open(MODEL_PATH, "rb") as f:
        print("모델 로드 성공")
        return pickle.load(f)

lru_cache 데코레이터를 사용하면 해당 함수를 처음 사용할 때 모델을 로드하고 캐시로 저장해두었다가 이후에 함수를 다시 호출하게 되면 캐시에 저장해두었던 모델을 불러와서 사용하는 구조로 작동하는 것 같다.

마치며

내일은 처음에 말했던 jsonify의 에러 메시지를 영어로 수정한 뒤 중간 평가를 진행할 예정이다.

profile
Hello I'm TaeHyunAn, Currently Studying Data Analysis

0개의 댓글