1. 프론트엔드 ↔ 백엔드 연결 흐름

  1. 사용자 인터랙션

  2. Flask 서버 (server.py)

    @app.route('/api/analyze', methods=['POST'])
    @login_required
    def analyze_emotion():
        # 1) 업로드된 이미지 파일 수신
        # 2) PIL로 읽어서 transforms → Tensor
        # 3) 로드된 PyTorch 모델로 추론
        # 4) PAD, VIBE 코드 계산
        # 5) 분석 결과 & 일기 텍스트 생성 → DB 저장
        # 6) JSON으로 반환
    
  3. 결과 표시 (app.js)


2. 모델 적용 방법(진행 중)

  1. 모델 파일 위치

  2. 모델 로드 로직

    def load_emotion_model():
        # (예)
        model = models.efficientnet_b2(pretrained=False)
        # ↓ classifier 레이어
        model.classifier = nn.Sequential(
            nn.Dropout(0.5),
            nn.Linear(in_features, len(CLASSES))
        )
        # 로드
        model.load_state_dict(torch.load(MODEL_PATH, map_location=DEVICE), strict=False)
        model.to(DEVICE).eval()
        return model
    
  3. API 확장

  4. 프론트엔드 변경


3. 요약