traning / main.py
aikobay's picture
Upload 4 files
884fc90 verified
raw
history blame contribute delete
2.68 kB
"""
μΆ”μ²œ μ‹œμŠ€ν…œ 메인 μ‹€ν–‰ 슀크립트
초기 ν•™μŠ΅ λ˜λŠ” μΆ”κ°€ ν•™μŠ΅μ„ μ‹€ν–‰ν•˜λŠ” μ§„μž…μ 
"""
import os
import sys
import argparse
from datetime import datetime
# ν”„λ‘œμ νŠΈ 루트 디렉토리λ₯Ό 파이썬 κ²½λ‘œμ— μΆ”κ°€
current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(current_dir)
# μˆ˜μ •λœ 방법 - μƒλŒ€ 경둜 μž„ν¬νŠΈ μ‚¬μš©
try:
from initial_training import run_initial_training
from incremental_training import run_incremental_training
except ImportError:
# μŠ€ν¬λ¦½νŠΈκ°€ scripts 폴더 μ•ˆμ— μžˆλŠ” 경우 λŒ€λΉ„
try:
from scripts.initial_training import run_initial_training
from scripts.incremental_training import run_incremental_training
except ImportError:
print("❌ 였λ₯˜: initial_training λ˜λŠ” incremental_training λͺ¨λ“ˆμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.")
print("ν”„λ‘œμ νŠΈ ꡬ쑰λ₯Ό ν™•μΈν•΄μ£Όμ„Έμš”.")
sys.exit(1)
def main():
"""메인 ν•¨μˆ˜: λͺ…λ Ήν–‰ 인자λ₯Ό νŒŒμ‹±ν•˜κ³  μ μ ˆν•œ ν•™μŠ΅ λͺ¨λ“œ μ‹€ν–‰"""
parser = argparse.ArgumentParser(description='μΆ”μ²œ μ‹œμŠ€ν…œ ν•™μŠ΅ 슀크립트')
parser.add_argument('--mode', type=str, choices=['initial', 'incremental'], default='incremental',
help='ν•™μŠ΅ λͺ¨λ“œ: initial (초기 ν•™μŠ΅) λ˜λŠ” incremental (μΆ”κ°€ ν•™μŠ΅)')
parser.add_argument('--window', type=int, default=30,
help='μΆ”κ°€ ν•™μŠ΅ μ‹œ μœ μ§€ν•  λ°μ΄ν„°μ˜ 일수 (κΈ°λ³Έκ°’: 30일)')
args = parser.parse_args()
# ν™˜κ²½ λ³€μˆ˜ 확인
if not os.getenv("HF_API_TOKEN"):
print("❌ 였λ₯˜: ν™˜κ²½ λ³€μˆ˜ HF_API_TOKEN이 μ„€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.")
print(" Hugging Face API 토큰을 ν™˜κ²½ λ³€μˆ˜λ‘œ μ„€μ •ν•΄μ£Όμ„Έμš”.")
return 1
# ν˜„μž¬ μ‹œκ°„ 좜λ ₯
print(f"πŸ“… μ‹€ν–‰ μ‹œκ°„: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
# λͺ¨λ“œμ— 따라 μ μ ˆν•œ ν•™μŠ΅ μ‹€ν–‰
if args.mode == 'initial':
print("πŸ”„ 초기 ν•™μŠ΅ λͺ¨λ“œλ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€.")
success = run_initial_training()
else: # incremental
print(f"πŸ”„ μΆ”κ°€ ν•™μŠ΅ λͺ¨λ“œλ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€. (μœˆλ„μš° 크기: {args.window}일)")
success = run_incremental_training(args.window)
# βœ… 싀행이 λλ‚˜λ©΄ 무쑰건 μ’…λ£Œ
if success:
print("βœ… ν•™μŠ΅μ΄ μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•©λ‹ˆλ‹€.")
sys.exit(0) # 정상 μ’…λ£Œ
else:
print("❌ ν•™μŠ΅ 쀑 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨μ„ μ’…λ£Œν•©λ‹ˆλ‹€.")
sys.exit(1) # 였λ₯˜ μ’…λ£Œ
if __name__ == "__main__":
sys.exit(main())