๋ฏธ๋ ํ๋ก์ ํธ 4์ผ์ฐจ
# 1. ์์ฑ ํ์ผ ๋ณํ์ ํ์ํ ffmpeg ๋ค์ด ๋ฐ๊ธฐ!
๋ค์ด๋ก๋ ํ๊ณ ๋๋ฌด ์ต๊น ๋นํ์ง๋ง.. ์ปดํจํฐ ๋ฆฌ๋ถํ ํด์ฃผ๋๊น ํด๊ฒฐ ^^;;;; ์์ ๋ฌํค๋นํค๋ค
# 2. ์ฒ์ ๋ณด๋ ์๋ฌ ์ ๋ฆฌ
libiomp5md.dll ํ์ผ์ด ์ฌ๋ฌ ๋ฒ ์ด๊ธฐํ๋์ด ๋ฐ์ํ๋ ์ค๋ฅ๋ OpenMP๋ผ๋ ๋ณ๋ ฌ ์ปดํจํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ๋ฌ ๋ฒ ๋ก๋๋๋ฉด์ ์๊ธฐ๋ ์ถฉ๋ ๋ฌธ์ ์ ๋๋ค. ์ด ๋ฌธ์ ๋ ์ฃผ๋ก PyTorch๋ NumPy ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ฐ๋จํ ๋งํด์, ํ๋ก๊ทธ๋จ์์ OpenMP๋ฅผ ๋ ๋ฒ ์ด์ ๋ถ๋ฌ์ค๊ฒ ๋์ด ์ถฉ๋์ด ์๊ธด ๊ฒ๋๋ค.
์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ OpenMP๊ฐ ์ฌ๋ฌ ๋ฒ ๋ก๋๋๋๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด KMP_DUPLICATE_LIB_OK๋ผ๋ ํ๊ฒฝ ๋ณ์๋ฅผ TRUE๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ (Windows)
1. ๋ช ๋ น ํ๋กฌํํธ์์ ์ผ์์ ์ผ๋ก ์ค์ ํ๊ธฐ
์ด ๋ฐฉ๋ฒ์ ํ์ฌ ๋ช ๋ น ํ๋กฌํํธ ์ธ์ ์์๋ง ํ๊ฒฝ ๋ณ์๊ฐ ์ค์ ๋๋ฉฐ, ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ ํ๊ฑฐ๋ ์๋ก ๋ช ๋ น ํ๋กฌํํธ๋ฅผ ์ด๋ฉด ์ด ์ค์ ์ ์ฌ๋ผ์ง๋๋ค.
- ๋ช ๋ น ํ๋กฌํํธ๋ฅผ ์ด๊ณ , ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค:
-
bash
-
์ด ์ํ์์ ํ์ด์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด ์ค๋ฅ๊ฐ ํด๊ฒฐ๋์๋์ง ํ์ธํด ๋ณด์ธ์.
set KMP_DUPLICATE_LIB_OK=TRUE
2. Python ์ฝ๋ ๋ด์์ ํ๊ฒฝ ๋ณ์ ์ค์ ํ๊ธฐ
Python ์ฝ๋ ์์์ ์ง์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๋ฉด, ํด๋น ์ฝ๋๊ฐ ์คํ๋๋ ๋์๋ง ํ๊ฒฝ ๋ณ์๊ฐ ์ ์ฉ๋ฉ๋๋ค.
- import ๋ฌธ ์๋์ ๋ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค:
-
python
- ์ด ์ฝ๋๋ฅผ ์ถ๊ฐํ ํ์ ๋ค์ ์คํํด ๋ณด์ธ์. Python์ด ์คํ๋๋ ๋์ ์ด ํ๊ฒฝ ๋ณ์๊ฐ ์ ์ฉ๋ฉ๋๋ค.
import os os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
3. ์์คํ ํ๊ฒฝ ๋ณ์๋ก ์๊ตฌ ์ค์ ํ๊ธฐ (Windows)
์ด ๋ฐฉ๋ฒ์ ์ปดํจํฐ์ ํ๊ฒฝ ๋ณ์์ KMP_DUPLICATE_LIB_OK๋ฅผ ์ถ๊ฐํ์ฌ, ๋ชจ๋ ๋ช ๋ น ํ๋กฌํํธ์ ํ๋ก๊ทธ๋จ์์ ์ด ์ค์ ์ด ์ ์ง๋๋๋ก ํฉ๋๋ค.
- Windows ๊ฒ์์ฐฝ์ "ํ๊ฒฝ ๋ณ์ ํธ์ง"์ด๋ผ๊ณ ์ ๋ ฅํ๊ณ ์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง์ ์ ํํฉ๋๋ค.
- ํ๊ฒฝ ๋ณ์ ์ฐฝ์์ ์๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฆ
๋๋ค:
- ์์คํ ๋ณ์ ๋ถ๋ถ์์ "์๋ก ๋ง๋ค๊ธฐ" ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ๋ณ์ ์ด๋ฆ์ KMP_DUPLICATE_LIB_OK์ ์ ๋ ฅํฉ๋๋ค.
- ๋ณ์ ๊ฐ์ TRUE๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ํ์ธ์ ๋๋ฌ ๋ชจ๋ ์ฐฝ์ ๋ซ๊ณ ์ปดํจํฐ๋ฅผ ์ฌ๋ถํ ํ๋ฉด, ์ด ์ค์ ์ด ๋ชจ๋ ๋ช ๋ น ํ๋กฌํํธ์ ํ๋ก๊ทธ๋จ์ ์ ์ฉ๋ฉ๋๋ค.
# 3. MongoDB Atlas Cloud Database ์ค์นํ์ fastapi์ ์ฐ๊ฒฐํ๋ ์ฝ๋
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
import os
from dotenv import load_dotenv
from datetime import datetime
# .env ํ์ผ ๋ก๋
load_dotenv()
uri = os.getenv("MONGO_URI")
# Create a new client and connect to the server
client = MongoClient(uri, server_api=ServerApi('1'))
# ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์ปฌ๋ ์
์ ํ
db = client["maeubom"]
collection = db["maeubom"]
# ์ฝ์
ํ ๋ฐ์ดํฐ์ ์์ฑ ์ ์
# ๊ฐ ์ปฌ๋ ์
์ ์
emotion_analysis_col = db["EmotionAnalysis"]
summary_col = db["Summary"]
generated_image_col = db["GeneratedImage"]
generated_music_col = db["GeneratedMusic"]
quote_col = db["Quote"]
analysis_session_col = db["AnalysisSession"]
def get_database():
return db
'''
# ๋ค๋ฅธ ํ์ผ์์ database.py์ db ์ฐ๊ฒฐ ๊ฐ์ ธ์ค๊ธฐ
from database import get_database
db = get_database() # ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ
collection = db["maeumbom"] # ์ปฌ๋ ์
์ ํ
'''