Bab lan Paragraf[Singidaken][Tampilake]
Salah sawijining aspek skenario yaiku nggawe model pembelajaran mesin. Iku kudu bisa digunakake ing donya nyata lan kasedhiya kanggo konsumen lan pangembang.
Cara paling gampang lan paling populer kanggo nyebarake model pembelajaran mesin yaiku nglebokake ing REST API.
Kanthi perpustakaan populer sing diarani FastAPI, iku persis sing bakal ditindakake saiki.
Nanging, apa FastAPI?
Framework web FastAPI Python digawe saka wiwitan kanggo njupuk kauntungan saka kemampuan Python kontemporer.
Kanggo komunikasi bedo, bebarengan karo klien, iku netepi standar ASGI, nalika iku uga bisa nggunakake WSGI.
Titik pungkasan lan rute bisa uga nggunakake fungsi async. Kajaba iku, FastAPI mbisakake nggawe aplikasi web sing produktif kanthi kode Python kontemporer, resik lan kontemporer.
Kasus panggunaan utama FastAPI yaiku, kaya jenenge, nggawe titik pungkasan API.
Nggunakake standar OpenAPI, sing kalebu UI Swagger interaktif, utawa nyedhiyakake data kamus Python minangka JSON minangka cara sing gampang kanggo entuk iki. Nanging, FastAPI ora mung kanggo API.
Bisa digunakake kanggo nawakake kaca web standar nggunakake mesin cithakan Jinja2 lan kanggo ngladeni aplikasi sing nggunakake WebSockets, saliyane kabeh sing bisa ditindakake dening kerangka web.
Ing artikel iki, kita bakal nggawe model pembelajaran mesin sing langsung lan banjur nggunakake FastAPI kanggo nyebarake. Ayo diwiwiti.
Instalasi FastAPI lan nggawe API pisanan
Nginstal perpustakaan lan server ASGI dibutuhake dhisik; salah siji Uvuicorn utawa Hypercorn bakal bisa. Kerjane kanthi ngetik printah ing ngisor iki menyang Terminal:
Saiki yen API wis digawe, sampeyan bisa nggunakake editor kode sing disenengi lan nelusuri. Nggawe script Python disebut ml_model.py kanggo miwiti. Sampeyan olèh menehi jeneng liyane, nanging kanggo kirim iki, Aku bakal ngrujuk file iki minangka ml_model.py.
Kanggo nggawe API langsung kanthi rong titik pungkasan, sampeyan kudu ngrampungake tugas ing ngisor iki:
- Impor perpustakaan FastAPI lan Uvicorn.
- Nggawe conto kelas FastAPI.
- Nyatakake rute pisanan, sing, ing kaca indeks, ngasilake obyek JSON sing langsung.
- Nyatakake rute kapindho, sing nyedhiyakake obyek JSON sing langsung kanthi pesen sing disesuaikan. Parameter jeneng dijupuk langsung saka URL (contone, https://127.0.0.1:8000/Jay).
- Gunakake Uvicorn kanggo mbukak API.
Ngleksanakake limang tahap iki ditampilake ing bit ngisor kode ie. nggawe API prasaja
Wis rampung kabeh! Ayo langsung mbukak API kita. Bukak jendhela Terminal ing jejere file ml model.py kanggo ngrampungake iki. Sabanjure, ketik ing ngisor iki:
tombol Enter. Sadurunge nerusake, ayo mbantah pratelan iki. Aplikasi pisanan mung nggunakake jeneng file Python, tanpa ekstensi. Aplikasi kapindho kudu duwe jeneng sing padha karo conto FastAPI sampeyan.
Kanthi nggunakake -reload, sampeyan ngandhani API yen sampeyan pengin mbukak maneh kanthi otomatis nalika sampeyan nyimpen file kasebut tinimbang diwiwiti saka awal.
Saiki bukak browser lan navigasi menyang https://127.0.0.1:8000; asil kudu katon kaya ing ngisor iki:
Sampeyan saiki ngerti carane nggawe API prasaja nggunakake FastAPI.
Mbangun lan nglatih model Machine Learning
Tanpa ngumpulake utawa nganalisa data, kita mung bakal nglatih model sing prasaja. Iki ora ana hubungane karo panyebaran model lan ora penting kanggo topik sing ana.
Model adhedhasar dataset Iris bisa diinstal nggunakake padha jaringan saraf cara instalasi.
Lan kita bakal nindakake mung: download ing Iris dataset lan nglatih model. Iku ora bakal prasaja. Kanggo miwiti, gawe file jenenge jaysmlmodel.py.
Ing, sampeyan bakal nindakake ing ngisor iki:
- Impor - Sampeyan kudu panda, scikit-RandomForecastClassifier, sinau kang pydantic kang BaseModel (sampeyan bakal nemokake apa ing langkah ing ngisor iki), lan joblib kanggo nyimpen lan loading model.
- Nyatakake kelas IrisSpecies sing diwenehi warisan saka model dhasar. Kelas iki mung ngemot kolom sing dibutuhake kanggo prédhiksi spesies kembang siji (liyane ing bagean sabanjure)
- Nggawe kelas. IrisModel minangka alat latihan lan prediksi model.
- Nyatakake cara sing jenenge _train model ing IrisModel. Iki digunakake kanggo nglatih model nggunakake teknik Random Forests. Model sing dilatih bali kanthi prosedur kasebut.
- Nyatakake fungsi spesies sing diprediksi ing IrisModel. Digunakake kanggo ramalan adhedhasar 4 faktor input (ukuran kembang). Ramalan (spesies kembang) lan kemungkinan ramalan bali dening algoritma.
- Ngganti konstruktor ing IrisModel supaya ngemot dataset Iris lan nglatih model kasebut yen ilang saka folder kasebut. Iki ngrampungake masalah bola-bali nglatih model anyar. Pustaka joblib digunakake kanggo loading lan nyimpen model.
Iki kode kabeh:
Muga-muga dhaptar ing ndhuwur lan komentar wis gampang dimengerteni sanajan iki jumlah kode sing bisa digawe. Saiki model iki wis dikembangaké, ayo kang nerbitaké kabisan prediksi liwat a REST API.
Mbangun API REST lengkap
Bali menyang file ml_model.py lan ngresiki kabeh data. Boilerplate bakal padha karo sing sadurunge, nanging kita kudu miwiti maneh kanthi file kosong.
Sampeyan mung bakal nemtokake siji titik pungkasan wektu iki, yaiku sing digunakake kanggo nemtokake jinis kembang. Spesies IrisModel.predict (), sing diumumake ing bagean sadurunge, diarani titik pungkasan iki kanggo nindakake prediksi.
Jinis panyuwunan yaiku owah-owahan gedhe liyane. Kanggo ngirim paramèter ing JSON tinimbang URL, disaranake sampeyan nggunakake POST nalika nggunakake learning machine API
Ukara ing ndhuwur bisa uga diarani basa krama yen sampeyan a ilmuwan data, nanging ora apa-apa. Kanggo ngrancang lan nyebarake model, siji ora kudu dadi pakar ing panjalukan HTTP lan REST API.
Tugas kanggo ml model.py mung sawetara lan gampang:
- Sampeyan kudu ngimpor ing ngisor iki saka file jaymlmodel.py sing wis digawe sadurunge: uvicorn, FastAPI, IrisModel, lan IrisSpecies.
- Nggawe conto FastAPI lan IrisModel.
- Nyatakake fungsi ing https://127.0.0.1:8000/predict kanggo nggawe prediksi.
- Spesies IrisModel.predict () cara nampa obyek saka jinis IrisSpecies, ngowahi menyang kamus, lan banjur bali. Ngasilake minangka kelas sing dikarepake lan kemungkinan sing diprediksi.
- Gunakake uvicorn kanggo nglakokake API.
Nanging maneh, iki kabeh kode file bebarengan karo komentar:
Iku kabeh sing kudu dilakoni. Ing langkah sabanjure, ayo nyoba API.
Nguji API
Ketik maneh baris ing ngisor iki menyang Terminal kanggo nglakokake API: uvicorn ml_model: app –reload
Mangkene carane kaca dokumentasi katon:
Dadi mung dina iki. Ing bagean sawise iki, ayo rampung.
kesimpulan
Dina iki, sampeyan sinau apa FastAPI lan carane nggunakake, nggunakake loro conto API prasaja lan conto machine learning prasaja. Sampeyan uga wis sinau carane nggawe lan ndeleng dokumentasi API, uga cara kanggo nyoba.
Sing akeh kanggo potongan siji, mula aja kaget yen butuh sawetara wacan kanggo ngerti kanthi bener.
Sugeng coding.
Ninggalake a Reply