colab.. 이걸 왜 무료로 쓰게 해주지?
하.. 내 미래 계획에 google 입사도 추가해야겠다..
colab 도 migration 이란 표현이 맞는 건가?
암튼 내가 migration 했으니 맞는 거겠지 뭐 *.*
모델에게 추천받는 시스템을 어떻게 배포하지? 고민하다 colab 에 정착
잠깐 빌려쓸게요 ~ 🌸
1. GPU 설정하기
런타임 - 런타임 유형 변경 - T4 GPU
2. import module
import os
import subprocess
3. GitHub Clone
# 클론할 디렉토리 설정
repo_dir = "/content/Babal-Server"
# 레포지토리가 이미 클론되어 있는지 확인
if not os.path.exists(repo_dir):
# 클론 명령어 실행
os.system("git clone -b feat/32-recbole https://github.com/Bab-Al/Babal-Server.git")
else:
# 클론된 디렉토리로 이동하고 업데이트
os.chdir(repo_dir) # 클론된 디렉토리로 이동
os.system("git pull origin feat/32-recbole") # 업데이트 명령어 실행
4. Requirement 설치
# requirements.txt 설치
result = subprocess.run(["pip", "install", "-r", "/content/Babal-Server/requirements.txt"], capture_output=True, text=True)
print("stdout:", result.stdout)
print("stderr:", result.stderr)
print("Return code:", result.returncode)
# install.py 실행
result2 = subprocess.run(["python", "/content/Babal-Server/install.py"], capture_output=True, text=True)
print("stdout:", result2.stdout)
print("stderr:", result2.stderr)
print("Return code:", result2.returncode)
# recbole 설치
result3 = subprocess.run(["pip", "install", "recbole"], capture_output=True, text=True)
print("stdout:", result3.stdout)
print("stderr:", result3.stderr)
print("Return code:", result3.returncode)
잘 되는지 확인하기 위해 표준 출력도 같이 해주었다
5. 추천 코드 실행
# 실행 경로 설정
working_directory = "/content/Babal-Server"
# 추천 코드 실행
result = subprocess.run(
["python", "/content/Babal-Server/RecBole_Sys/RecBole-GNN/run_inference.py", "--model_path=/content/Babal-Server/RecBole_Sys/saved/NGCF-Oct-16-2024_19-14-27.pth"],
cwd=working_directory, # 실행 경로 지정
capture_output=True,
text=True
)
print("stdout:", result.stdout)
print("stderr:", result.stderr)
print("Return code:", result.returncode)
6. 결과
잘 나왔다 💓
Colab 에서 너무 .. 빨리 할 수 있었던 것 같아서 약간 현타가 오지만
그래도 SpringBoot 에서 삽질하며 해결한 덕분에 빨리 빨리 오류를 해결할 수 있었던 것 같다
이제 백엔드에서 URL 로 접속할 수 있도록 ngrok auth 로 설정하는 걸 해야겠다 !
코드도 좀 바꿔야겠지? ㅎ
ㄱㅏ봅시다
'AI' 카테고리의 다른 글
[AI] 레시피 추천 모델 만들기 11 - 배포 준비하기 (2) | 2024.11.05 |
---|---|
[AI/Git] 레시피 추천 모델 만들기 10 - clone 한 레포 git push 부터 대용량 파일 push 까지 (4) | 2024.11.04 |
[AI] 레시피 추천 모델 만들기 9 - Inference (3) 정리 (2) | 2024.10.31 |
[AI] 레시피 추천 모델 만들기 8 - Inference (2) user 기반, item 기반 추천 받기 (3) | 2024.10.30 |
[AI] 레시피 추천 모델 만들기 7 - Inference (1) 계획 수정.. (또획 또정) (5) | 2024.10.29 |