Skip to content

[2024-1 KGU Capstone Project] koBERT 모델을 이용한 다중 분류 모델

Notifications You must be signed in to change notification settings

Jhyunee/for-me-classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚩 for-me-classification

[2024-1 KGU Capstone Project] koBERT 모델을 이용한 다중 분류 모델

In this repository ...

  🚀 Run pytorch Classification model on Flask Server
  🚀 Connect SpringBoot & Flask

Content

1. ⚙️ Environment Settings
2. 🏃🏻‍♀️ Run Flask Server
3. 🍃 SpringBoot 연동 Test



⚙️ Environment Settings

1. Download Python 3.7.9 if not exist

  • Windows x86-64 executable installer
  • 설치 경로 ex. (C:\Python37)

2. VSC settings > python.python path 검색

  • Python: Default Interpreter Path = (C:\Python37) 지정 - 1. 파이썬 설치 경로
    image

  • $ python -V # 3.7.9


3. 가상환경 생성 (create virtual env)

  • 빈 폴더 (C:\KGU\model) 생성 → vsc에서 file > open folder
  • In VSC terminal
    • $ python -m venv test # test 이름의 가상환경 생성
    • 잘 생성되면 model 밑에 test 폴더 생김 (C:\KGU\model\test)

4. pyvenv.cfg 확인

      home = C:\Python37  # (1.에서 설치한 Python 3.7.9 path)
      include-system-site-packages = true

5. 가상환경 실행

      $ cd test
      $ cd scripts
      $ activate.bat
      # 종료 시 deactivate

6. Python interpreter : test

  • 위에서 만든 가상환경(test)으로 지정
    • 단축키 [ctrl + shift + p] 에서 python interpreter 검색
    • 안보일 경우 refresh 🔃
  • 잘 설정이 된 경우 밑에서 app.py 파일 열면 우하단에서 확인 가능 image

7. File Setting ➡️ 모두 test 폴더 내로 (C:\KGU\model\test)


8. requirements 설치

  # requirements.txt 파일이 있는 경로(test)에서 실행 - 상위 폴더로 이동 = $ cd..
  # target path =  YOUR_VENV_PATH
  $ python -m  pip install -r requirements.txt --target C:\KGU\model\test\Lib\site-packages

image

  • 위와 같이 에러 나와도 👌🏻🆗
  • 여기까지 설정이 모두 완료 되면 ⬇️

🗂️ Your File Path should be like ...

📦model
 ├── 📂test
 │    ├── 📂__pychache__
 │    ├── 📂Include
 │    ├── 📂Lib
 │    ├── 📂Scripts
 │    ├── 📜1_made_test_state.pt
 │    ├── 📜app.py
 │    ├── 📜model.py
 │    ├── 📜pyvenv.cfg


🏃🏻‍♀️ Run Flask Server

  • Run app.py ▶️
  • default port : localhost:5000/
  • Success Running Flask server 👍🏻 image

⚠️ If ERROR occurs ...

  • OSError ~ : Illegal byte sequence Error 아래와 같은 형식의 오류
  • 원인 : 경로에 한글이 있어서 나는 에러
  • 해결 : ⬇️

1. C:\KGU\model\test\Lib\site-packages\sentencepiece_init_.py 수정

     def LoadFromFile(self, arg):
       try:
         arg = arg.replace("\\","/")
         return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg)
       except OSError:
         # YOUR_PT_FILE_PATH
         path = "C:/KGU/model/test/" # test ; your virtunal env name
         arg = path + arg.split("/")[-1]
         return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg)

2. 파란 라인 경로 따라가서 해당 파일 복사 → test 파일 내에 붙이기 image

  • test 파일 외 다른 곳에 위치시키고 싶다면 위의 except문 path 수정!


🍃 SpringBoot 연동 Test

  • Flask ↔️ SpringBoot 데이터 주고 예측값 받기

1. Flask 서버 켜기

  • 가상환경 실행
  • app.py 실행
  • 확인 : localhost:5000

2. for-me Spring 서버 켜기 (Backend)

  • localhost:8080/api/checklists 에 데이터 POST (postman 이용)
  {
  	"name": # YOUR_CHECKLIST_TEST_DATA
  	"user_id": # YOUR_TEST_ID
  }

👏🏻 All Succeeded !

  • Spring ➡️ Flask 보낸 데이터 확인 >>> Data from Springboot : # YOUR_CHECKLIST_TEST_DATA

  • Flask ➡️ Spring 받은 예측값 확인 "category": # YOUR_PREDICT_RESULT

    • 예측값은 localhost:5000/send 에서도 확인 가능

    image

About

[2024-1 KGU Capstone Project] koBERT 모델을 이용한 다중 분류 모델

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published