ລັກສະນະໜຶ່ງຂອງສະຖານະການແມ່ນການສ້າງຮູບແບບການຮຽນຮູ້ເຄື່ອງຈັກ. ມັນຕ້ອງສາມາດໃຊ້ໄດ້ໃນໂລກທີ່ແທ້ຈິງແລະສາມາດໃຊ້ໄດ້ກັບຜູ້ບໍລິໂພກແລະນັກພັດທະນາ.
ວິທີທີ່ງ່າຍທີ່ສຸດ ແລະເປັນທີ່ນິຍົມທີ່ສຸດໃນການນຳໃຊ້ຕົວແບບການຮຽນຮູ້ຂອງເຄື່ອງຈັກແມ່ນການປິດລ້ອມພວກມັນໄວ້ໃນ REST API.
ດ້ວຍຫ້ອງສະໝຸດຍອດນິຍົມທີ່ເອີ້ນວ່າ FastAPI, ນັ້ນແມ່ນສິ່ງທີ່ພວກເຮົາຈະເຮັດສຳເລັດໃນມື້ນີ້.
ແຕ່, ແມ່ນຫຍັງ FastAPI?
ກອບເວັບ FastAPI Python ໄດ້ຖືກສ້າງຂື້ນຈາກພື້ນຖານເພື່ອໃຊ້ປະໂຫຍດຈາກຄວາມສາມາດຂອງ Python ໃນປະຈຸບັນ.
ສໍາລັບການສື່ສານແບບ asynchronous, ພ້ອມກັນກັບລູກຄ້າ, ມັນປະຕິບັດຕາມມາດຕະຖານ ASGI, ໃນຂະນະທີ່ມັນຍັງສາມາດໃຊ້ WSGI ໄດ້.
ຈຸດສິ້ນສຸດ ແລະເສັ້ນທາງສາມາດນຳໃຊ້ຟັງຊັນ async ໄດ້. ນອກຈາກນັ້ນ, FastAPI ຊ່ວຍໃຫ້ການສ້າງແອັບຯເວັບທີ່ມີປະສິດຕິພາບໃນລະຫັດ Python ແບບປະເພດ, ສະອາດ, ທັນສະໄໝ.
ກໍລະນີການນໍາໃຊ້ຕົ້ນຕໍຂອງ FastAPI ແມ່ນ, ດັ່ງທີ່ຊື່ແນະນໍາ, ການສ້າງຈຸດສິ້ນສຸດ API.
ການນໍາໃຊ້ມາດຕະຖານ OpenAPI, ເຊິ່ງປະກອບມີ Swagger UI ແບບໂຕ້ຕອບ, ຫຼືການສະຫນອງຂໍ້ມູນວັດຈະນານຸກົມ Python ເປັນ JSON ແມ່ນທັງສອງວິທີງ່າຍໆເພື່ອບັນລຸເປົ້າຫມາຍນີ້. ຢ່າງໃດກໍຕາມ, FastAPI ບໍ່ພຽງແຕ່ສໍາລັບ APIs ເທົ່ານັ້ນ.
ມັນສາມາດຖືກນໍາໃຊ້ເພື່ອສະເຫນີຫນ້າເວັບມາດຕະຖານໂດຍໃຊ້ເຄື່ອງຈັກແມ່ແບບ Jinja2 ແລະໃຫ້ບໍລິການແອັບຯທີ່ໃຊ້ WebSockets, ນອກເຫນືອຈາກທຸກສິ່ງທຸກຢ່າງທີ່ກອບເວັບສາມາດເຮັດໄດ້.
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະພັດທະນາຮູບແບບການຮຽນຮູ້ເຄື່ອງຈັກແບບກົງໄປກົງມາ ແລະຫຼັງຈາກນັ້ນໃຊ້ FastAPI ເພື່ອນຳໃຊ້ມັນ. ໃຫ້ເລີ່ມຕົ້ນ.
ການຕິດຕັ້ງ FastAPI ແລະການສ້າງ API ທໍາອິດ
ການຕິດຕັ້ງຫ້ອງສະຫມຸດແລະເຄື່ອງແມ່ຂ່າຍ ASGI ແມ່ນຈໍາເປັນກ່ອນ; Uvuicorn ຫຼື Hypercorn ຈະເຮັດວຽກ. ມັນເຮັດວຽກໂດຍການໃສ່ຄໍາສັ່ງຕໍ່ໄປນີ້ເຂົ້າໄປໃນ Terminal:
ໃນປັດຈຸບັນທີ່ API ໄດ້ຖືກສ້າງຂື້ນ, ທ່ານສາມາດນໍາໃຊ້ຕົວແກ້ໄຂລະຫັດທີ່ທ່ານຕ້ອງການແລະທ່ອງໄປຫາມັນ. ສ້າງສະຄຣິບ Python ທີ່ເອີ້ນວ່າ ml_model.py ເພື່ອເລີ່ມຕົ້ນ. ເຈົ້າຍິນດີໃຫ້ຊື່ເຈົ້າອື່ນ, ແຕ່ເພື່ອປະໂຫຍດຂອງການໂພດນີ້, ຂ້ອຍຈະອ້າງເຖິງໄຟລ໌ນີ້ເປັນ ml_model.py.
ເພື່ອສ້າງ API ທີ່ກົງໄປກົງມາທີ່ມີສອງຈຸດສິ້ນສຸດ, ທ່ານຕ້ອງເຮັດສໍາເລັດຫນ້າວຽກຕໍ່ໄປນີ້:
- ນໍາເຂົ້າຫ້ອງສະຫມຸດ FastAPI ແລະ Uvicorn.
- ຕັ້ງຄ່າຕົວຢ່າງ FastAPI class.
- ປະກາດເສັ້ນທາງທໍາອິດ, ເຊິ່ງ, ໃນຫນ້າດັດສະນີ, ຜະລິດວັດຖຸ JSON ກົງໄປກົງມາ.
- ປະກາດເສັ້ນທາງທີສອງ, ເຊິ່ງສະຫນອງວັດຖຸ JSON ທີ່ກົງໄປກົງມາດ້ວຍຂໍ້ຄວາມທີ່ກໍາຫນົດເອງ. ພາລາມິເຕີຊື່ຖືກເອົາມາຈາກ URL (ຕົວຢ່າງ: https://127.0.0.1:8000/Jay).
- ໃຊ້ Uvicorn ເພື່ອດໍາເນີນການ API.
ການປະຕິບັດຫ້າຂັ້ນຕອນເຫຼົ່ານີ້ແມ່ນສະແດງໃຫ້ເຫັນຢູ່ໃນລະຫັດດັ່ງຕໍ່ໄປນີ້ bit ie. ການສ້າງ API ງ່າຍໆ
ສຳເລັດແລ້ວ! ໃຫ້ເປີດຕົວ API ຂອງພວກເຮົາທັນທີ. ເປີດໜ້າຈໍ Terminal ຖັດຈາກໄຟລ໌ ml model.py ເພື່ອເຮັດສິ່ງນີ້ໃຫ້ສຳເລັດ. ຕໍ່ໄປ, ໃສ່ຕໍ່ໄປນີ້:
ປຸ່ມ Enter. ກ່ອນທີ່ຈະກ້າວຕໍ່ໄປ, ໃຫ້ພວກເຮົາຍົກເລີກການຢືນຢັນນີ້. ແອັບຯທໍາອິດໃຊ້ຊື່ໄຟລ໌ Python ຢ່າງດຽວ, ໂດຍບໍ່ມີການຂະຫຍາຍ. ແອັບທີສອງຕ້ອງມີຊື່ດຽວກັນກັບຕົວຢ່າງ FastAPI ຂອງທ່ານ.
ໂດຍການນໍາໃຊ້ -reload, ທ່ານບອກ API ວ່າທ່ານຕ້ອງການໃຫ້ມັນ reload ອັດຕະໂນມັດໃນເວລາທີ່ທ່ານບັນທຶກໄຟລ໌ແທນທີ່ຈະເລີ່ມຕົ້ນຈາກ scratch.
ໃນປັດຈຸບັນເປີດຕົວທ່ອງເວັບແລະທ່ອງໄປຫາ https://127.0.0.1:8000; ຜົນໄດ້ຮັບຄວນຈະປາກົດດັ່ງນີ້:
ດຽວນີ້ເຈົ້າເຂົ້າໃຈວິທີການສ້າງ API ງ່າຍໆໂດຍໃຊ້ FastAPI.
ການກໍ່ສ້າງແລະການຝຶກອົບຮົມຮູບແບບການຮຽນຮູ້ເຄື່ອງຈັກ
ໂດຍບໍ່ມີການເກັບກໍາຫຼືການວິເຄາະຂໍ້ມູນໃດໆ, ພວກເຮົາພຽງແຕ່ຈະຝຶກອົບຮົມແບບງ່າຍດາຍ. ສິ່ງເຫຼົ່ານີ້ແມ່ນບໍ່ກ່ຽວຂ້ອງກັບການນໍາໄປໃຊ້ແບບຈໍາລອງ ແລະບໍ່ຈໍາເປັນຕໍ່ຫົວຂໍ້ຢູ່ໃນມື.
ຮູບແບບທີ່ອີງໃສ່ຊຸດຂໍ້ມູນ Iris ສາມາດຕິດຕັ້ງໄດ້ໂດຍໃຊ້ດຽວກັນ ເຄືອຂ່າຍ neural ວິທີການຕິດຕັ້ງ.
ແລະພວກເຮົາຈະເຮັດພຽງແຕ່ວ່າ: ດາວນ໌ໂຫລດ ຊຸດຂໍ້ມູນ Iris ແລະຝຶກອົບຮົມແບບຈໍາລອງ. ນັ້ນຈະບໍ່ງ່າຍດາຍ. ເພື່ອເລີ່ມຕົ້ນ, ສ້າງໄຟລ໌ທີ່ມີຊື່ວ່າ jaysmlmodel.py.
ໃນມັນ, ທ່ານຈະເຮັດດັ່ງຕໍ່ໄປນີ້:
- ການນໍາເຂົ້າ — ທ່ານຈະຕ້ອງການ pandas, scikit-RandomForecastClassifier, ຮຽນຮູ້ຂອງ BaseModel ຂອງ pydantic (ທ່ານຈະຄົ້ນພົບວ່າເປັນຫຍັງໃນຂັ້ນຕອນຕໍ່ໄປນີ້), ແລະ joblib ສໍາລັບການເກັບຮັກສາແລະການໂຫຼດຕົວແບບ.
- ປະກາດຫ້ອງຮຽນ IrisSpecies ທີ່ສືບທອດມາຈາກຕົວແບບພື້ນຖານ. ຫ້ອງຮຽນນີ້ມີພຽງແຕ່ທົ່ງນາທີ່ຕ້ອງການເພື່ອພະຍາກອນດອກໄມ້ຊະນິດດຽວ (ເພີ່ມເຕີມກ່ຽວກັບວ່າໃນພາກຕໍ່ໄປ)
- ສ້າງຫ້ອງຮຽນ. IrisModel ເປັນຕົວແບບການຝຶກອົບຮົມແລະເຄື່ອງມືການຄາດຄະເນ.
- ປະກາດວິທີການທີ່ມີຊື່ວ່າ _train model ພາຍໃນ IrisModel. ມັນຖືກນໍາໃຊ້ເພື່ອຝຶກອົບຮົມຕົວແບບໂດຍໃຊ້ເຕັກນິກ Random Forests. ຮູບແບບທີ່ໄດ້ຮັບການຝຶກອົບຮົມຈະຖືກສົ່ງຄືນໂດຍຂັ້ນຕອນ.
- ປະກາດການທໍາງານຂອງຊະນິດທີ່ຄາດຄະເນໄວ້ພາຍໃນ IrisModel. ມັນຖືກນໍາໃຊ້ເພື່ອຄາດຄະເນໂດຍອີງໃສ່ 4 ປັດໃຈນໍາເຂົ້າ (ການວັດແທກດອກໄມ້). ທັງການຄາດຄະເນ (ຊະນິດດອກໄມ້) ແລະຄວາມເປັນໄປໄດ້ຂອງການຄາດຄະເນແມ່ນສົ່ງຄືນໂດຍສູດການຄິດໄລ່.
- ປ່ຽນຕົວສ້າງໃນ IrisModel ເພື່ອໃຫ້ມັນໂຫລດຊຸດຂໍ້ມູນ Iris ແລະຝຶກອົບຮົມແບບຈໍາລອງຖ້າມັນຫາຍໄປຈາກໂຟນເດີ. ນີ້ແກ້ໄຂບັນຫາຂອງການຝຶກອົບຮົມແບບໃຫມ່ຊ້ໍາຊ້ອນ. ຫ້ອງສະຫມຸດ joblib ຖືກນໍາໃຊ້ສໍາລັບການໂຫຼດແລະປະຫຍັດຕົວແບບ.
ນີ້ແມ່ນລະຫັດທັງໝົດ:
ຂ້າພະເຈົ້າຫວັງວ່າບັນຊີລາຍຊື່ຂ້າງເທິງແລະຄໍາເຫັນເຮັດໃຫ້ມັນງ່າຍທີ່ຈະເຂົ້າໃຈເຖິງແມ່ນວ່ານີ້ແມ່ນຈໍານວນຂະຫນາດໃຫຍ່ຂອງລະຫັດທີ່ຈະສ້າງ. ໃນປັດຈຸບັນວ່າຮູບແບບນີ້ໄດ້ຖືກພັດທະນາ, ໃຫ້ເຜີຍແຜ່ຄວາມສາມາດຄາດຄະເນຂອງມັນໃນໄລຍະ a REST API.
ການກໍ່ສ້າງ API REST ເຕັມ
ກັບຄືນໄປຫາໄຟລ໌ ml_model.py ແລະລຶບຂໍ້ມູນທັງໝົດອອກ. boilerplate ຈະເປັນສິ່ງຈໍາເປັນຄືກັນກັບສິ່ງທີ່ທ່ານມີມາກ່ອນ, ແຕ່ພວກເຮົາຄວນຈະເລີ່ມຕົ້ນໃຫມ່ດ້ວຍໄຟລ໌ເປົ່າ.
ໃນເວລານີ້, ເຈົ້າຈະກໍານົດຈຸດສິ້ນສຸດອັນດຽວເທົ່ານັ້ນ, ເຊິ່ງເປັນຈຸດທີ່ຖືກນໍາໃຊ້ເພື່ອກໍານົດຊະນິດຂອງດອກໄມ້. IrisModel.predict species(), ເຊິ່ງຖືກປະກາດໄວ້ໃນພາກກ່ອນ, ຖືກເອີ້ນໂດຍຈຸດສິ້ນສຸດນີ້ເພື່ອເຮັດການຄາດເດົາ.
ປະເພດການຮ້ອງຂໍແມ່ນການປ່ຽນແປງອັນໃຫຍ່ຫຼວງອື່ນໆ. ເພື່ອສົ່ງພາລາມິເຕີໃນ JSON ແທນທີ່ຈະເປັນ URL, ມັນແນະນໍາໃຫ້ທ່ານໃຊ້ POST ເມື່ອໃຊ້ ການຮຽນຮູ້ເຄື່ອງຈັກ APIs.
ປະໂຫຍກຂ້າງເທິງນີ້ອາດຈະຟັງຄື gibberish ຖ້າຫາກວ່າທ່ານເປັນ ນັກວິທະຍາສາດຂໍ້ມູນ, ແຕ່ວ່າບໍ່ເປັນຫຍັງ. ເພື່ອອອກແບບແລະນໍາໃຊ້ແບບຈໍາລອງ, ຄົນເຮົາບໍ່ຈໍາເປັນຕ້ອງເປັນຜູ້ຊ່ຽວຊານກ່ຽວກັບການຮ້ອງຂໍ HTTP ແລະ REST APIs.
ໜ້າວຽກສຳລັບ ml model.py ແມ່ນໜ້ອຍ ແລະກົງໄປກົງມາ:
- ທ່ານຕ້ອງນຳເຂົ້າສິ່ງຕໍ່ໄປນີ້ຈາກໄຟລ໌ jaymlmodel.py ທີ່ສ້າງຂຶ້ນກ່ອນໜ້ານີ້: uvicorn, FastAPI, IrisModel, ແລະ IrisSpecies.
- ສ້າງຕົວຢ່າງຂອງ FastAPI ແລະ IrisModel.
- ປະກາດຟັງຊັນທີ່ https://127.0.0.1:8000/predict ເພື່ອເຮັດໃຫ້ການຄາດເດົາ.
- ວິທີການ IrisModel.predict species() ໄດ້ຮັບວັດຖຸຂອງປະເພດ IrisSpecies, ປ່ຽນມັນໄປເປັນວັດຈະນານຸກົມ, ແລະຫຼັງຈາກນັ້ນສົ່ງຄືນມັນ. ຜົນຕອບແທນແມ່ນລະດັບທີ່ຄາດໄວ້ ແລະຄວາມເປັນໄປໄດ້ທີ່ຄາດໄວ້.
- ໃຊ້ uvicorn ເພື່ອປະຕິບັດ API.
ອີກເທື່ອ ໜຶ່ງ, ນີ້ແມ່ນລະຫັດຂອງໄຟລ໌ທັງ ໝົດ ພ້ອມກັບ ຄຳ ເຫັນຂອງມັນ:
ນັ້ນແມ່ນສິ່ງທີ່ທ່ານຕ້ອງເຮັດ. ໃນຂັ້ນຕອນຕໍ່ໄປ, ໃຫ້ທົດສອບ API.
ການທົດສອບ API
ປ້ອນແຖວຕໍ່ໄປນີ້ຄືນໃໝ່ໃສ່ Terminal ເພື່ອປະຕິບັດ API: uvicorn ml_model:app –reload
ນີ້ແມ່ນວິທີທີ່ຫນ້າເອກະສານປາກົດ:
ສະນັ້ນມັນສໍາລັບມື້ນີ້. ໃນສ່ວນຫຼັງຈາກນັ້ນ, ໃຫ້ສະຫຼຸບ.
ສະຫຼຸບ
ໃນມື້ນີ້, ທ່ານໄດ້ຮຽນຮູ້ວ່າ FastAPI ແມ່ນຫຍັງແລະວິທີການນໍາໃຊ້ມັນ, ໂດຍນໍາໃຊ້ທັງສອງຕົວຢ່າງ API ງ່າຍດາຍແລະຕົວຢ່າງການຮຽນຮູ້ເຄື່ອງຈັກງ່າຍດາຍ. ນອກນັ້ນທ່ານຍັງໄດ້ຮຽນຮູ້ວິທີການສ້າງແລະເບິ່ງເອກະສານ API, ເຊັ່ນດຽວກັນກັບວິທີການທົດສອບມັນ.
ນັ້ນແມ່ນຫຼາຍສໍາລັບສິ້ນດຽວ, ດັ່ງນັ້ນຢ່າແປກໃຈຖ້າມັນໃຊ້ເວລາອ່ານສອງສາມຢ່າງເພື່ອເຂົ້າໃຈຢ່າງຖືກຕ້ອງ.
ການເຂົ້າລະຫັດທີ່ມີຄວາມສຸກ.
ອອກຈາກ Reply ເປັນ