Энэ хувилбарын нэг тал бол машин сургалтын загварыг бий болгох явдал юм. Энэ нь бодит ертөнцөд ашиглах боломжтой байх ёстой бөгөөд хэрэглэгчид болон хөгжүүлэгчдэд хүртээмжтэй байх ёстой.
Машин сургалтын загваруудыг ашиглах хамгийн энгийн бөгөөд түгээмэл арга бол тэдгээрийг REST API-д оруулах явдал юм.
FastAPI нэртэй алдартай номын сантай бол бид өнөөдөр үүнийг хийх болно.
Гэхдээ, юу вэ FastAPI?
FastAPI Python вэб хүрээ нь орчин үеийн Python чадавхийг ашиглахын тулд эхнээс нь бүтээгдсэн.
Үйлчлүүлэгчидтэй асинхрон, зэрэгцэн харилцахын тулд энэ нь ASGI стандартыг дагаж мөрдөхийн зэрэгцээ WSGI ашиглах чадвартай.
Төгсгөлийн цэгүүд болон чиглүүлэлтүүд нь асинхронгүй функцуудыг ашиглаж болно. Нэмж дурдахад FastAPI нь төрөл төрлийн, цэвэр, орчин үеийн Python кодоор вэб програмуудыг үр бүтээлтэй үүсгэх боломжийг олгодог.
FastAPI-ийн үндсэн хэрэглээ нь нэрнээс нь харахад API төгсгөлийн цэгүүдийг үүсгэх явдал юм.
Интерактив Swagger UI агуулсан OpenAPI стандартыг ашиглах эсвэл Python толь бичгийн өгөгдлийг JSON хэлбэрээр өгөх нь үүнд хүрэх энгийн арга юм. Гэсэн хэдий ч FastAPI нь зөвхөн API-д зориулагдсан биш юм.
Энэ нь Jinja2 загвар хөдөлгүүрийг ашиглан стандарт вэб хуудсуудыг санал болгох, вэб фреймворкийн хийж чадах бараг бүх зүйлээс гадна WebSockets ашигладаг програмуудад үйлчлэхэд ашиглагдаж болно.
Энэ нийтлэлд бид шууд машин сургалтын загвар боловсруулж, дараа нь FastAPI-г ашиглах болно. Эхэлцгээе.
FastAPI суулгаж, анхны API үүсгэсэн
Номын сан болон ASGI серверийг эхлээд суулгах шаардлагатай; Uvuicorn эсвэл Hypercorn аль нь ч ажиллах болно. Энэ нь терминалд дараах тушаалыг оруулснаар ажилладаг.
Одоо API-г үүсгэсэн тул та өөрийн сонгосон код засварлагчийг ашиглаж, түүгээр гүйлгэх боломжтой. Эхлэхийн тулд ml_model.py нэртэй Python скрипт үүсгэ. Та өөрийнхөө нэрийг өөр нэрээр нэрлэж болно, гэхдээ энэ нийтлэлийн үүднээс би энэ файлыг ml_model.py гэж нэрлэх болно.
Хоёр төгсгөлийн цэг бүхий энгийн API үүсгэхийн тулд та дараах ажлуудыг гүйцэтгэх ёстой.
- FastAPI болон Uvicorn номын санг импортлох.
- FastAPI ангиллын жишээг тохируулна уу.
- Индекс хуудсан дээр шууд JSON объект үүсгэдэг эхний маршрутыг зарла.
- Өөрчлөн тохируулсан мессеж бүхий шууд JSON объектыг хангадаг хоёр дахь маршрутыг зарла. Нэрийн параметрийг URL-аас шууд авдаг (жишээ нь, https://127.0.0.1:8000/Jay).
- API-г ажиллуулахын тулд Uvicorn-г ашиглана уу.
Эдгээр таван үе шатыг хэрэгжүүлэхийг дараах кодын бит дээр харуулав. энгийн API үүсгэх
Бүгд бэлэн! API-аа нэн даруй ажиллуулцгаая. Үүнийг хийхийн тулд ml model.py файлын хажууд Терминал цонхыг нээнэ үү. Дараа нь дараахыг оруулна уу:
Enter товч. Үргэлжлүүлэхээсээ өмнө энэ мэдэгдлийг үгүйсгэе. Эхний програм нь өргөтгөлгүйгээр зөвхөн Python файлын нэрийг ашигладаг. Хоёрдахь програм нь таны FastAPI жишээтэй ижил нэртэй байх ёстой.
-reload-ыг ашигласнаар та API-д файлыг эхнээс нь эхлүүлэхийн оронд хадгалах үед автоматаар дахин ачаалахыг хүсч байгаагаа хэлнэ.
Одоо хөтчөө ажиллуулаад https://127.0.0.1:8000 руу очно уу; үр дүн нь дараах байдлаар харагдах ёстой.
Та одоо FastAPI ашиглан энгийн API хэрхэн үүсгэхийг ойлгож байна.
Machine Learning загварыг бий болгох, сургах
Ямар ч мэдээлэл цуглуулах, дүн шинжилгээ хийхгүйгээр бид зүгээр л энгийн загварыг сургах болно. Эдгээр нь загваруудыг байршуулахтай холбоогүй бөгөөд тухайн сэдэвт чухал биш юм.
Iris өгөгдлийн багц дээр суурилсан загварыг ижил аргаар суулгаж болно мэдрэлийн сүлжээ суулгах арга.
Тэгээд бид үүнийг хийх болно: татаж авах Iris мэдээллийн багц мөн загварыг сургах. Энэ нь энгийн зүйл биш байх болно. Эхлэхийн тулд jaysmlmodel.py нэртэй файл үүсгэ.
Үүн дээр та дараахь зүйлийг хийх болно.
- Импортууд — Танд панда, scikit-RandomForecastClassifier, Learn's pydantic-ийн BaseModel (дараагийн алхамд учрыг нь олж мэдэх болно), загваруудыг хадгалах, ачаалахад зориулсан joblib хэрэгтэй болно.
- Үндсэн загвараас удамшсан IrisSpecies ангийг зарла. Энэ анги нь зөвхөн нэг төрлийн цэцгийн талаар урьдчилан таамаглахад шаардлагатай талбаруудыг агуулна (дараагийн хэсэгт энэ талаар дэлгэрэнгүй)
- Анги үүсгэх. IrisModel бол загварчлах, урьдчилан таамаглах хэрэгсэл юм.
- IrisModel дотор _train model нэртэй аргыг зарла. Энэ нь Random Forests техникийг ашиглан загваруудыг сургахад хэрэглэгддэг. Сургалтанд хамрагдсан загварыг журмын дагуу буцаана.
- IrisModel дотор урьдчилан таамагласан зүйлийн функцийг зарлах. Үүнийг 4 оролтын хүчин зүйл (цэцгийн хэмжилт) дээр үндэслэн таамаглахад ашигладаг. Урьдчилан таамаглах (цэцгийн төрөл) болон таамаглах магадлалыг алгоритмаар буцаана.
- IrisModel-д үүсгэгчийг өөрчил, ингэснээр Iris датасетийг ачаалж, фолдерт байхгүй бол загварыг сургана. Энэ нь шинэ загваруудыг дахин дахин сургах асуудлыг шийддэг. joblib номын санг загвар ачаалах, хадгалахад ашигладаг.
Энд бүхэл бүтэн код байна:
Дээрх жагсаалт болон тайлбарууд нь маш их хэмжээний код үүсгэхэд хялбар байсан гэж найдаж байна. Одоо энэ загварыг боловсруулсан тул түүний таамаглах чадварыг нийтэлье REST API.
Бүрэн REST API үүсгэж байна
ml_model.py файл руу буцаж очоод бүх өгөгдлийг цэвэрлэ. Бойлер хавтан нь үндсэндээ таны өмнөхтэй ижил байх болно, гэхдээ бид хоосон файлаас эхлэх хэрэгтэй.
Та энэ удаад зөвхөн нэг төгсгөлийн цэгийг тодорхойлох бөгөөд энэ нь цэцгийн төрлийг тодорхойлоход хэрэглэгддэг. Өмнөх хэсэгт зарласан IrisModel.predict types() нь таамаглалыг хэрэгжүүлэхийн тулд энэ төгсгөлийн цэгээр дуудагддаг.
Хүсэлтийн төрөл нь өөр нэг том өөрчлөлт юм. URL-аас илүү JSON-д параметрүүдийг дамжуулахын тулд POST-г ашиглахыг зөвлөж байна машин суралцах APIs.
Дээрх өгүүлбэр нь та а өгөгдөл судлаач, гэхдээ зүгээр. Загвар зохион бүтээх, ашиглахын тулд HTTP хүсэлт болон REST API-ийн мэргэжилтэн байх албагүй.
ml model.py-д зориулсан даалгавар нь цөөхөн бөгөөд энгийн:
- Та өмнө нь үүсгэсэн jaymlmodel.py файлаас дараах зүйлсийг импортлох ёстой: uvicorn, FastAPI, IrisModel, болон IrisSpecies.
- FastAPI болон IrisModel-ийн жишээг үүсгэ.
- Урьдчилан таамаглахын тулд функцийг https://127.0.0.1:8000/predict дээр зарлана уу.
- IrisModel.predict types() арга нь IrisSpecies төрлийн объектыг хүлээн авч, толь бичиг болгон хувиргаж, дараа нь буцаана. Өгөөж нь хүлээгдэж буй ангилал ба таамагласан магадлал юм.
- API-г ажиллуулахын тулд uvicorn ашиглана уу.
Дахин хэлэхэд файлын бүх кодыг тайлбарын хамт энд оруулав.
Үүнийг л хийх хэрэгтэй. Дараагийн алхамд API-г туршиж үзье.
API-г туршиж байна
API-г ажиллуулахын тулд Терминал руу дараах мөрийг дахин оруулна уу: uvicorn ml_model:app – дахин ачаална
Баримт бичгийн хуудас ингэж гарч ирнэ:
Ингээд өнөөдөртөө л болоо. Үүний дараах хэсгийг дүгнэе.
Дүгнэлт
Өнөөдөр та энгийн API жишээ болон энгийн машин сургалтын жишээг ашиглан FastAPI гэж юу болох, түүнийг хэрхэн ашиглах талаар олж мэдсэн. Та API баримт бичгийг хэрхэн үүсгэх, үзэх, мөн үүнийг хэрхэн шалгах талаар сурсан.
Энэ нь нэг бүтээлийн хувьд маш их зүйл тул зөв ойлгохын тулд цөөн хэдэн унших шаардлагатай бол бүү гайхаарай.
Аз жаргалтай кодчилол.
хариу үлдээх