전체 글 344

[AI] 레시피 추천 모델 만들기 13 - 최종 정리

레시피 추천 프로세스1️⃣ 회원가입 시 입력받는 것 : 사용자 나이, 성별, 키, 몸무게, 활동 레벨, 선호하는 음식 태그2️⃣ 레시피 추천 기능 이용 시 입력받는 것 : 재료 (데이터기반 검색)※ AI 모델을 훈련했던 레시피 데이터를 CSV 파일로 가지고 있다.※ 사용자에게 맞는 권장 영양 성분표 데이터를 CSV 파일로 가지고 있다. ※ 레시피 데이터에서 가장 인기있는 레시피 정보를 담은 CSV 파일을 가지고 있다.※ 각각의 레시피 아이템에 해당하는 다른 사용자들의 추천 아이템 정보를 담은 CSV 파일을 가지고 있다.👩‍🍳 첫 번째 레시피 추천 과정 (내 정보 기반 추천)- 레시피 데이터와 사용자 데이터를 비교 : 일치하는 재료 수, 태그 수 계산- 재료 : 태그 = 7 : 3 비율로 점수 계산 후..

AI 2024.12.09

[AWS EC2/Spring Boot/CSV] Handler dispatch failed: java.lang.OutOfMemoryError: Java heap space

Handler dispatch failed: java.lang.OutOfMemoryError: Java heap space 🌸 상황 🌸Spring Boot 에서 CSV 파일을 다운받아 읽는 코드를 작성했다.로컬에서는 잘 돌아갔는데, aws ec2 에서는 heap memory 오류가 났다.  🧶 시도 🧶- 처음에는 CSV 파일을 다운받을 때 생긴 오류인 줄 알았다. 그래서 heap memory 크기를 2GB로 늘려주는 설정 파일을 추가해서 배포해주었는데 잘 되지 않았다. t2.micro 를 사용하고 있었는데 1GB 가 최대 한도이기 때문에 늘리지 못한다는 글도 보았다.# .ebextensions 파일의 jvm.configoption_settings: aws:elasticbeanstalk:appli..

ERROR 2024.11.12

[AI] 레시피 추천 모델 만들기 - 에서 문제가 또 (GPU 너 뭐냐?)

첫. 만남은- 너무 어.려.워~계 획. 대로 되는 게 없.어.서~https://www.youtube.com/watch?v=hVAc1Vf2ITU 그치만 난 어느덧 렉볼과 만난지 3개월이 다 되어 가는데......우린 첫 만남도 아닌데 왜 이리 어렵니 !!! 문제점 1. Colab 의 GPU 서버 시간 제한코랩을 왜 무료로 제공해주냐면서 구글에 입사하겠다는 말은 취소입니다.무료로 해줄거면 끝까지 저를 책임져주셔야죠Pro 버전도 GPU 시간 한도가 있다는 어처구니 없는 이런 말이 어디 있단 말이요 시도 1. CPU 로 돌리기암튼.. GPT 가 원래 CPU 에서도 AI 모델은 돌아간다고 하길래 CPU 로 돌렸는데 전 안되더라구요?같이 졸프하는 상아가 자기도 그냥 시간 오래 걸리지만 CPU 로 돌린다고 해서 나도..

AI 2024.11.11

[AI] 레시피 추천 모델 만들기 12 - Colab Migration

colab.. 이걸 왜 무료로 쓰게 해주지?하.. 내 미래 계획에 google 입사도 추가해야겠다.. colab 도 migration 이란 표현이 맞는 건가?암튼 내가 migration 했으니 맞는 거겠지 뭐 *.* 모델에게 추천받는 시스템을 어떻게 배포하지? 고민하다 colab 에 정착잠깐 빌려쓸게요 ~ 🌸 1. GPU 설정하기런타임 - 런타임 유형 변경 - T4 GPU 2. import moduleimport osimport subprocess 3. GitHub Clone# 클론할 디렉토리 설정repo_dir = "/content/Babal-Server"# 레포지토리가 이미 클론되어 있는지 확인if not os.path.exists(repo_dir): # 클론 명령어 실행 os.syste..

AI 2024.11.06

[AI] 레시피 추천 모델 만들기 11 - 배포 준비하기

생각해봤는데, 기존 백엔드 서버가 올라가 있던 aws ec2 에 같이 배포를 하게 된다면1. requirements.txt 파일이 필요하다2. RecBole 폴더 내에서가 아니라 배포했을 때 위치 기준에서 코드를 짜야 한다3. deploy.yml 파일을 수정해서 파이썬 환경을 설정해야 할까? (ex. python3.9, venv) 🐧 일단 하나씩 해보자 1️⃣ requirements.txt 파일 만들기파일 만드는 것 자체는 쉽다pip freeze > requirements.txt 근데 나의 환경에 맞으려면 (cuda, nvidia driver, pytorch)torch 가 정확히 2.4.0+cu121 이어야 한다 그런데 requirements.txt 에서의 '+' 를 pip 가 인식하지 못한다고 한다 ..

AI 2024.11.05

[AI/Git] 레시피 추천 모델 만들기 10 - clone 한 레포 git push 부터 대용량 파일 push 까지

git push 를 위해 해결한 오류 리스트 pack exceeds maximum allowed size (2.00 GiB) The requested URL returned error: 403 ModuleNotFoundError: No module named 'torch_sparse' this exceeds GitHub's file size limit of 100.00 MB   어느덧 NGCF 기반 (모델이 알아서 해준거지만) 추천을 받을 수 있게 되었다2024.10.30 - [AI] - [AI] 레시피 추천 모델 만들기 9 - Inference (3) 정리 [AI] 레시피 추천 모델 만들기 9 - Inference (3) 정리1. 데이터셋 훈련이 끝났다2024.10.16 - [AI] - [AI] ..

AI 2024.11.04

[AI] 레시피 추천 모델 만들기 9 - Inference (3) 정리

1. 데이터셋 훈련이 끝났다2024.10.16 - [AI] - [AI] 레시피 추천 모델 만들기 6 - RecBole 에 Datasets 훈련시키기 [AI] 레시피 추천 모델 만들기 6 - RecBole 에 Datasets 훈련시키기지난 시간에 RecBole, RecBole-GNN 레포지토리 clone 했으니 이번엔 데이터셋을 연결해보겠다 준비한 데이터셋 : RecSysDatasets 에서 제공하는 Food 데이터셋준비한 데이터셋을 폴더에 넣어주자 - RecBole/dataalsrudalsrudalsrud.tistory.com  2. 추론 코드를 작성해야 한다 - run_inference.py🐧 참고 문서 1 : https://hoon-bari.github.io/RS/Recbole🐧 참고 문서 2 :..

AI 2024.10.31

[AI] 레시피 추천 모델 만들기 8 - Inference (2) user 기반, item 기반 추천 받기

일단 비슷하게 추천받을 user_id, item_id 모두 하드 코딩해서 넣어줬다. 추후에 입력받은 item_id 값으로 진행할 예정! 💡 User 기반 추천 받기import argparseimport torchimport numpy as npimport pandas as pdfrom recbole.quick_start import load_data_and_modelif __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--model_path', '-m', type=str, default='saved/model.pth', help='name of models') # python RecBole-G..

AI 2024.10.30

[AI] 레시피 추천 모델 만들기 7 - Inference (1) 계획 수정.. (또획 또정)

기본 추론 과정1. 모델 훈련한 결과 불러오기2. 사용하기로 한 모델의 full_sort_predict 함수로 추천 결과 생성3. 추천 결과 제공 (user_id, item_id) 고려해야 할 점- 훈련한 데이터가 나의 서비스를 사용하는 사용자들이 아니라 다른 곳에서 주어진 user_id, item_id 값이어서 나의 사용자와 비슷한 user_id 를 추려서 추천 결과를 제공해야 한다. 처음 기획했던 (실패한) 나의 프로세스1. 사용자가 선호하는 카테고리를 가진 음식 필터링 ➡️ 카테고리 필터는 제공해주는 Food 데이터셋에 없다2. 사용자가 가지고 있는 재료 기반 음식 필터링 ➡️ 웃긴 놈. 재료 칸은 있는데 데이터가 없다  ➡️ 분명히 .. 데이터 예시 보여주는 페이지에서는 다 있는 것처럼 보여줘 놓..

AI 2024.10.29

[AI] 레시피 추천 모델 만들기 6 - RecBole 에 Datasets 훈련시키기

지난 시간에 RecBole, RecBole-GNN 레포지토리 clone 했으니 이번엔 데이터셋을 연결해보겠다 준비한 데이터셋 : RecSysDatasets 에서 제공하는 Food 데이터셋준비한 데이터셋을 폴더에 넣어주자 - RecBole/dataset 하위에 넣어주어야 한다  준비한 데이터셋으로 모델을 트레이닝 하기 위해서는 yaml 파일을 구성해주어야 한다 (3개나 ㄷㄷㄷ ㄷ ㄷ. ㄷㄷ. ㄷ)설마 공식 데이터셋인데 뭐가 없고 이러진 않겠지.... 1. RecBole/recbole/properties/overall.yaml# Training Settings 에 train_batch_size 만 바꿨어요  2. RecBole/recbole/properties/dataset/Food.yaml준비한 데이터셋의..

AI 2024.10.16
728x90