የሁኔታው አንዱ ገጽታ የማሽን መማሪያ ሞዴል መፍጠር ነው። በገሃዱ ዓለም ጥቅም ላይ የሚውል እና ለተጠቃሚዎች እና ገንቢዎች የሚገኝ መሆን አለበት።
የማሽን መማሪያ ሞዴሎችን ለማሰማራት ቀላሉ እና በጣም ታዋቂው መንገድ REST ኤፒአይ ውስጥ ማካተት ነው።
FastAPI በሚባል ታዋቂ ቤተ-መጻሕፍት ዛሬ የምናሳካው ያ ነው።
ግን, ምንድን ነው ፈጣን ኤፒአይ?
የFastAPI Python ድረ-ገጽ የወቅቱን የፓይዘን ችሎታዎች ለመጠቀም ከመሬት ተነስቶ ተፈጠረ።
ለተመሳሰለ፣ ከደንበኞች ጋር በአንድ ጊዜ ለመግባባት፣ የ ASGI መስፈርትን ያከብራል፣ እንዲሁም WSGIን መጠቀም ይችላል።
የመጨረሻ ነጥቦች እና መስመሮች ሁለቱም ያልተመሳሰሉ ተግባራትን ሊጠቀሙ ይችላሉ። በተጨማሪም፣ FastAPI በአይነት-ፍንጭ፣ ንፁህ፣ በዘመናዊ የፓይዘን ኮድ ውስጥ ምርታማ የድር መተግበሪያዎችን መፍጠር ያስችላል።
የFastAPI ዋና የአጠቃቀም ጉዳይ እንደ ስሙ እንደሚያመለክተው የኤፒአይ የመጨረሻ ነጥቦችን መፍጠር ነው።
በይነተገናኝ Swagger UIን የሚያካትት የOpenAPI መስፈርትን መጠቀም ወይም የ Python መዝገበ ቃላት መረጃን እንደ JSON ማቅረብ ሁለቱም ቀላል መንገዶች ናቸው። ሆኖም፣ FastAPI ለኤፒአይዎች ብቻ አይደለም።
የጂንጃ2 አብነት ሞተርን በመጠቀም መደበኛ ድረ-ገጾችን ለማቅረብ እና WebSockets ን በመጠቀም መተግበሪያዎችን ለማገልገል ጥቅም ላይ ሊውል ይችላል፣ በተጨማሪም የዌብ ማእቀፍ ሊያደርጋቸው ከሚችላቸው ብዙ ነገሮች በተጨማሪ።
በዚህ ጽሑፍ ውስጥ፣ ቀጥተኛ የማሽን መማሪያ ሞዴልን እናዘጋጃለን እና እሱን ለማሰማራት FastAPI እንጠቀማለን። እንጀምር.
የ FastAPI መጫን እና የመጀመሪያው ኤፒአይ መፍጠር
መጀመሪያ ላይ ቤተ-መጽሐፍቱን እና የ ASGI አገልጋይ መጫን ያስፈልጋል; ወይ Uvuicorn ወይም Hypercorn ይሰራል። የሚከተለውን ትዕዛዝ ወደ ተርሚናል በማስገባት ይሰራል፡-
አሁን ኤፒአይ ስለተፈጠረ፣ የመረጡትን ኮድ አርታዒ መጠቀም እና እሱን ማሰስ ይችላሉ። ለመጀመር ml_model.py የሚባል የ Python ስክሪፕት ይፍጠሩ። ለእርስዎ የተለየ ስም እንዲሰጡዎት እንኳን ደህና መጣችሁ፣ ግን ለዚህ ልጥፍ ስል ይህንን ፋይል ml_model.py ብዬ እጠቅሳለሁ።
ሁለት የመጨረሻ ነጥቦች ያለው ቀጥተኛ ኤፒአይ ለመፍጠር የሚከተሉትን ተግባራት ማጠናቀቅ አለብዎት።
- FastAPI እና Uvicorn ቤተ-መጻሕፍትን ያስመጡ።
- የFastAPI ክፍል ምሳሌን ያዋቅሩ።
- በመረጃ ጠቋሚ ገጹ ላይ ቀጥተኛ የJSON ነገር የሚያመነጨውን የመጀመሪያውን መንገድ አውጁ።
- ቀጥተኛ JSON ነገርን ከተበጀ መልእክት ጋር የሚያቀርበውን ሁለተኛውን መንገድ አውጁ። የስም መለኪያው በቀጥታ ከዩአርኤል የተወሰደ ነው (ለምሳሌ https://127.0.0.1:8000/ጄይ)።
- ኤፒአይን ለማሄድ Uvicornን ይጠቀሙ።
እነዚህን አምስት ደረጃዎች መተግበር በሚከተለው ትንሽ ኮድ ውስጥ ይታያል. ቀላል ኤፒአይ መፍጠር
ሁሉም ተጠናቀቀ! የእኛን ኤፒአይ ወዲያውኑ እናስጀምር። ይህንን ለመፈጸም ከml model.py ፋይል ቀጥሎ ያለውን የተርሚናል መስኮት ይክፈቱ። በመቀጠል የሚከተለውን አስገባ።
አስገባ ቁልፍ. ወደ ፊት ከመሄዳችን በፊት፣ ይህንን አባባል እናጥፋው። የመጀመሪያው መተግበሪያ የ Python ፋይል ስም ብቻውን ያለ ቅጥያ ይጠቀማል። ሁለተኛው መተግበሪያ ከእርስዎ FastAPI ምሳሌ ጋር አንድ አይነት ስም ሊኖረው ይገባል.
ዳግም መጫንን በመጠቀም፣ ፋይሉን ከባዶ ከመጀመር ይልቅ ሲያስቀምጡ በራስ-ሰር ዳግም እንዲጭን እንደሚፈልጉ ለኤፒአይ ይነግሩታል።
አሁን አሳሽ ያስጀምሩ እና ወደ https://127.0.0.1:8000 ይሂዱ; ውጤቱ እንደሚከተለው መታየት አለበት-
FastAPI ን በመጠቀም እንዴት ቀላል ኤፒአይ መፍጠር እንደሚችሉ አሁን ተረድተዋል።
የማሽን መማሪያ ሞዴልን መገንባት እና ማሰልጠን
ምንም አይነት መረጃ ሳንሰበስብ ወይም ሳንመረምር ቀላል ሞዴልን ብቻ እናሠለጥናለን። እነዚህ ከሞዴሎች መዘርጋት ጋር ያልተያያዙ እና ለርዕሰ-ጉዳዩ አስፈላጊ አይደሉም.
በአይሪስ የውሂብ ስብስብ ላይ የተመሰረተ ሞዴል ተመሳሳይ በመጠቀም መጫን ይቻላል የነርቭ ኔትወርክ የመጫኛ ዘዴ.
እና እኛ እንደዚያ እናደርጋለን: አውርድ አይሪስ የውሂብ ስብስብ እና ሞዴሉን ያሠለጥኑ. ያ ቀላል አይሆንም። ለመጀመር jaysmlmodel.py የሚባል ፋይል ይስሩ።
በእሱ ውስጥ, የሚከተለውን ታደርጋለህ:
- አስመጪ — ፓንዳስ፣ scikit-RandomForecastClassifier፣ learn's pydantic's BaseModel (ለምን በሚከተለው ደረጃ ላይ ታገኛላችሁ) እና ሞዴሎችን ለማከማቸት እና ለመጫን ዎልቢብ ያስፈልግዎታል።
- ከመሠረታዊ ሞዴል የሚወርሰውን IrisSpecies ክፍልን አውጁ። ይህ ክፍል አንድ ነጠላ የአበባ ዝርያን ለመተንበይ የሚያስፈልጉ መስኮችን ብቻ ይዟል (በሚቀጥለው ክፍል ተጨማሪ)
- ክፍል ፍጠር። IrisModel ሞዴል ስልጠና እና ትንበያ መሳሪያ ነው.
- በIrisModel ውስጥ _የባቡር ሞዴል የሚባል ዘዴ ያውጁ። የዘፈቀደ ደን ቴክኒክን በመጠቀም ሞዴሎችን ለማሰልጠን ይጠቅማል። የሰለጠነው ሞዴል በሂደቱ ይመለሳል.
- በIrisModel ውስጥ የተተነበየ ዝርያ ተግባርን አውጅ። በ 4 የግብአት ምክንያቶች (የአበቦች መለኪያዎች) ላይ በመመርኮዝ ለመተንበይ ጥቅም ላይ ይውላል. ሁለቱም ትንበያ (የአበቦች ዝርያዎች) እና የትንበያ ዕድል በአልጎሪዝም ይመለሳሉ.
- የ Iris ዳታ ስብስብን እንዲጭን እና ሞዴሉን ከአቃፊው ውስጥ ከጠፋ እንዲያሰለጥነው በ IrisModel ውስጥ ያለውን ገንቢ ይለውጡ። ይህ በተደጋጋሚ አዳዲስ ሞዴሎችን የማሰልጠን ችግርን ይፈታል. የ Joblib ቤተ-መጽሐፍት ለሞዴል ጭነት እና ቁጠባ ያገለግላል።
ሙሉው ኮድ እነሆ፡-
ምንም እንኳን ይህ ለመፍጠር ከፍተኛ መጠን ያለው ኮድ ቢሆንም ከላይ ያለው ዝርዝር እና አስተያየቶች ለመረዳት ቀላል እንዳደረጉት ተስፋ አደርጋለሁ። አሁን ይህ ሞዴል ተዘጋጅቷል፣ እስቲ የትንበያ አቅሙን በ ሀ ላይ እናተም የ REST ኤ ፒ አይ.
ሙሉ የ REST API በመገንባት ላይ
ወደ ml_model.py ፋይል ይመለሱ እና ሁሉንም ውሂቦች ያጽዱ። የቦይለር ሳህኑ ቀደም ሲል ከነበረው ጋር ተመሳሳይ ይሆናል፣ ነገር ግን በባዶ ፋይል እንደገና መጀመር አለብን።
በዚህ ጊዜ አንድ የመጨረሻ ነጥብ ብቻ ይገልፃሉ, እሱም የአበባውን አይነት ለመወሰን ጥቅም ላይ ይውላል. ቀደም ባለው ክፍል ውስጥ የታወጀው IrisModel.predict ዝርያዎች () ትንበያውን ለመፈጸም በዚህ የመጨረሻ ነጥብ ተጠርቷል.
የጥያቄው አይነት ሌላው ትልቅ ለውጥ ነው። ከዩአርኤል ይልቅ መለኪያዎችን በJSON ለማስተላለፍ፣ ሲጠቀሙ POSTን እንዲጠቀሙ ይመከራል የማሽን መማር ኤ ፒ አይዎች.
ከላይ ያለው ዓረፍተ ነገር ሀ ከሆንክ እንደ ጂብሪሽ ሊመስል ይችላል። የመረጃ ሳይንቲስት, ግን ያ ደህና ነው. ሞዴሎችን ለመንደፍ እና ለማሰማራት የግድ በኤችቲቲፒ ጥያቄዎች እና REST APIs ላይ ባለሙያ መሆን አያስፈልገውም።
የ ml model.py ተግባራት ጥቂት እና ቀጥተኛ ናቸው፡-
- ከዚህ ቀደም ከተፈጠረው jaymlmodel.py ፋይል የሚከተለውን ማስመጣት አለቦት፡ uvicorn፣ FastAPI፣ IrisModel እና IrisSpecies።
- የ FastAPI እና IrisModel ምሳሌዎችን ይፍጠሩ።
- አንድ ተግባር በ https://127.0.0.1:8000/መተንበይ ትንበያዎችን ያውጅ።
- የ IrisModel.predict ዝርያ() ዘዴ አይሪስSpecies አይነት ነገር ይቀበላል, ወደ መዝገበ ቃላት ይለውጠዋል እና ከዚያ ይመልሳል. መመለሻዎች የሚጠበቀው ክፍል እና የተተነበዩ ሊሆኑ የሚችሉ ናቸው።
- ኤፒአይውን ለማስፈጸም uvicornን ይጠቀሙ።
አሁንም እንደገና፣ የፋይሉ ኮድ ከአስተያየቶቹ ጋር አንድ ላይ ይኸውና፡-
እርስዎ ማድረግ ያለብዎት ያ ብቻ ነው። በሚቀጥለው ደረጃ ኤፒአይን እንሞክር።
ኤፒአይን በመሞከር ላይ
ኤፒአይውን ለማስፈጸም የሚከተለውን መስመር ወደ ተርሚናል እንደገና አስገባ፡ uvicorn ml_model:app –reload
የሰነድ ገፅ እንደዚህ ነው የሚታየው፡-
ለዛሬም ያ ነው። ከዚህ በኋላ ባለው ክፍል እንቋጨው።
መደምደሚያ
ዛሬ፣ ሁለቱንም ቀላል የኤፒአይ ምሳሌ እና ቀላል የማሽን መማሪያ ምሳሌን በመጠቀም FastAPI ምን እንደሆነ እና እንዴት እንደሚጠቀሙበት ተምረዋል። እንዲሁም እንዴት የኤፒአይ ሰነዶችን መፍጠር እና ማየት እንደሚችሉ እንዲሁም እንዴት እንደሚሞክሩት ተምረዋል።
ይህ ለአንድ ነጠላ ቁራጭ ብዙ ነው፣ ስለዚህ በትክክል ለመረዳት ጥቂት ንባቦች ቢፈጅበት አትደነቁ።
ደስተኛ ኮድ ማድረግ.
መልስ ይስጡ