Jupyter λ ΈνΈλΆμΌλ‘ μμ±ν ML μκ³ λ¦¬μ¦μ Python μ½λλ‘ λ³ννλ κ³Όμ μ λν΄ μ€λͺ ν©λλ€.
- νμ₯μκ° ipybμΈ jupyter notebook νμΌμ μλ λͺ λ Ήμ΄λ₯Ό μ΄μ©νμ¬ python νμΌλ‘ λ³ν ν©λλ€.
jupyter nbconvert xgboost-wine-quality.ipynb --to script --output step0-xgboost-wine-quality
xgboost-wine-quality.ipynbμ μκΈ° λͺ λ Ήμ΄λ‘ λ³ννλ©΄, step0-xgboost-wine-quality.pyμ κ°μ΄ python νμΌλ‘ λ³νν μ μμ΅λλ€.
- λΆνμν μ½λ μ 리
jupyter notebookμμ λ°μ΄ν°μ ꡬ쑰λ₯Ό μ΄ν΄νκ³ , λνλ₯Ό μμ±ν λ μ¬μ©νλ μ½λλ€μ 본격μ μΈ νμ΅μμλ μ¬μ©λμ§ μμ΅λλ€. λ°λΌμ, step1-xgboost-wine-quality.pyμ κ°μ΄ λΆνμν μ½λλ₯Ό μμ ν©λλ€.
- Python ν¨μλ‘ λ¦¬ν©ν°λ§
ν¨μλ‘ λ³κ²½νλ©΄ refactoringμ΄ μ¬μμ§κ³ μ μ§ κ΄λ¦¬κ° μμνμ¬ μ§λ―λ‘ step2-xgboost-wine-quality.pyμ κ°μ΄ ν¨μλ‘ λ³νν©λλ€. μ΄λ, mainμ μ§μ μ (entry point)μ΄λ―λ‘ μ€νμ€μΈμ§ μ¬λΆλ₯Ό νμΈνμ¬ μλμ²λΌ μ¬μ©ν©λλ€.
if __name__ == '__main__':
main()
- Inference
xgboost-wine-quality-inference.ipynbμ μ°Έμ‘°νμ¬ μΆλ‘ (inference)λ₯Ό μν python μ½λλ₯Ό μμ±ν©λλ€. μΆλ‘ μ μν΄μλ νμ΅μ μ μ₯ν λͺ¨λΈμ λΆλ₯΄κ³ , RESTful API νΉμ±μ λ§μΆ°μ eventλ₯Ό μ²λ¦¬ν μ μμ΄μΌ ν©λλ€. inference.pyμ νμ΅ν λͺ¨λΈμ λ‘λνκ³ , eventλ₯Ό parsingνμ¬ predict()μμ μ¬μ©ν μ μλ ν¬λ§·μΌλ‘ λ³νν λ€μμ μΆλ‘ μ μννκ³ , κ²°κ³Όλ₯Ό 리ν΄κ°μΌλ‘ μ λ¬νλ κ²μ 보μ¬μ€λλ€.
μΆλ‘ λμμ νμΈνκΈ° μν΄ inference-test.pyμμλ samples.jsonμ λ‘λνμ¬, RESTful APIμμ μ¬μ©νλ eventμ ννλ₯Ό λ§λ νμ, inference.pyμ handler()μ ν΅ν΄ μΆλ‘ λμμ μνν©λλ€. λ°λΌμ, μ€μ μΈνλΌλ₯Ό ꡬμΆνμ¬ μΆλ‘ APIλ₯Ό μμ±νκΈ° μ μ inference.pyμ λμμ κ²μ¦ν μ μμ΅λλ€.