દૃશ્યનું એક પાસું મશીન લર્નિંગ મૉડલ બનાવવાનું છે. તે વાસ્તવિક દુનિયામાં ઉપયોગ કરી શકાય તેવું હોવું જોઈએ અને ગ્રાહકો અને વિકાસકર્તાઓ માટે ઉપલબ્ધ હોવું જોઈએ.
મશીન લર્નિંગ મોડલ્સનો ઉપયોગ કરવાની સૌથી સરળ અને સૌથી લોકપ્રિય રીત એ છે કે તેમને REST API માં બંધ કરો.
FastAPI નામની લોકપ્રિય લાઇબ્રેરી સાથે, આજે આપણે આ જ સિદ્ધ કરીશું.
પરંતુ, શું છે ફાસ્ટએપીઆઈ?
FastAPI પાયથોન વેબ ફ્રેમવર્ક સમકાલીન પાયથોન ક્ષમતાઓનો લાભ લેવા માટે ગ્રાઉન્ડ ઉપરથી બનાવવામાં આવ્યું હતું.
ગ્રાહકો સાથે અસુમેળ, સહવર્તી સંચાર માટે, તે ASGI માનકનું પાલન કરે છે, જ્યારે તે WSGI નો ઉપયોગ કરવામાં પણ સક્ષમ છે.
એન્ડપોઇન્ટ અને રૂટ બંને એસિંક ફંક્શનનો ઉપયોગ કરી શકે છે. વધુમાં, ફાસ્ટએપીઆઈ ટાઇપ-હિંટેડ, ક્લીન, કન્ટેમ્પરરી પાયથોન કોડમાં વેબ એપ્સની ઉત્પાદક રચનાને સક્ષમ કરે છે.
ફાસ્ટએપીઆઈનો મુખ્ય ઉપયોગ કેસ, નામ સૂચવે છે તેમ, API એન્ડપોઈન્ટ્સ બનાવવાનું છે.
ઓપનએપીઆઈ સ્ટાન્ડર્ડનો ઉપયોગ કરવો, જેમાં ઇન્ટરેક્ટિવ સ્વેગર UI શામેલ છે, અથવા JSON તરીકે પાયથોન ડિક્શનરી ડેટા પ્રદાન કરવો એ બંને આ હાંસલ કરવાની સરળ રીતો છે. જો કે, FastAPI માત્ર API માટે જ નથી.
તેનો ઉપયોગ જિન્જા2 ટેમ્પલેટ એન્જિનનો ઉપયોગ કરીને માનક વેબ પેજીસ ઓફર કરવા અને વેબ ફ્રેમવર્ક કરી શકે તેટલું બધું ઉપરાંત વેબસોકેટ્સનો ઉપયોગ કરતી એપ્સને સેવા આપવા માટે થઈ શકે છે.
આ લેખમાં, અમે એક સીધું મશીન લર્નિંગ મોડલ વિકસાવીશું અને પછી તેનો ઉપયોગ કરવા માટે FastAPI નો ઉપયોગ કરીશું. ચાલો શરુ કરીએ.
FastAPI નું ઇન્સ્ટોલેશન અને પ્રથમ API બનાવવું
લાઇબ્રેરી અને ASGI સર્વર ઇન્સ્ટોલ કરવું પહેલા જરૂરી છે; ક્યાં તો Uvuicorn અથવા Hypercorn કામ કરશે. તે ટર્મિનલમાં નીચેનો આદેશ દાખલ કરીને કાર્ય કરે છે:
હવે એપીઆઈ બનાવવામાં આવ્યું છે, તમે તમારા મનપસંદ કોડ એડિટરનો ઉપયોગ કરી શકો છો અને તેના દ્વારા બ્રાઉઝ કરી શકો છો. પ્રારંભ કરવા માટે ml_model.py નામની પાયથોન સ્ક્રિપ્ટ બનાવો. તમારું અલગ નામ આપવા માટે તમારું સ્વાગત છે, પરંતુ આ પોસ્ટ માટે, હું આ ફાઇલને ml_model.py તરીકે સંદર્ભિત કરીશ.
બે અંતિમ બિંદુઓ સાથે એક સરળ API બનાવવા માટે, તમારે નીચેના કાર્યો પૂર્ણ કરવા આવશ્યક છે:
- FastAPI અને Uvicorn લાઇબ્રેરીઓ આયાત કરો.
- ફાસ્ટએપીઆઈ ક્લાસ ઇન્સ્ટન્સ સેટ કરો.
- પ્રથમ માર્ગ જાહેર કરો, જે અનુક્રમણિકા પૃષ્ઠ પર, એક સીધો JSON ઑબ્જેક્ટ બનાવે છે.
- બીજા રૂટની ઘોષણા કરો, જે કસ્ટમાઇઝ્ડ મેસેજ સાથે સીધો JSON ઑબ્જેક્ટ પ્રદાન કરે છે. નામ પરિમાણ સીધા URL પરથી લેવામાં આવ્યું છે (ઉદાહરણ તરીકે, https://127.0.0.1:8000/Jay).
- API ચલાવવા માટે Uvicorn નો ઉપયોગ કરો.
આ પાંચ તબક્કાઓને અમલમાં મૂકવાનું કોડના નીચેના બીટમાં દર્શાવવામાં આવ્યું છે એટલે કે. એક સરળ API બનાવવું
બધુ થઈ ગયું! ચાલો તરત જ અમારા API ને લોન્ચ કરીએ. આ પરિપૂર્ણ કરવા માટે ml model.py ફાઇલની બાજુમાં ટર્મિનલ વિન્ડો ખોલો. આગળ, નીચેના દાખલ કરો:
એન્ટર કી. આગળ વધતા પહેલા, ચાલો આ નિવેદનને રદબાતલ કરીએ. પ્રથમ એપ્લિકેશન એક્સ્ટેંશન વિના, એકલા પાયથોન ફાઇલ નામનો ઉપયોગ કરે છે. બીજી એપ્લિકેશનમાં તમારા FastAPI દાખલા જેવું જ નામ હોવું આવશ્યક છે.
-રીલોડનો ઉપયોગ કરીને, તમે API ને કહો છો કે જ્યારે તમે શરૂઆતથી શરૂ કરવાને બદલે ફાઇલને સાચવો ત્યારે તમે તેને આપમેળે ફરીથી લોડ કરવા માંગો છો.
હવે બ્રાઉઝર લોંચ કરો અને https://127.0.0.1:8000 પર નેવિગેટ કરો; પરિણામ નીચે મુજબ દેખાવું જોઈએ:
હવે તમે સમજો છો કે FastAPI નો ઉપયોગ કરીને સરળ API કેવી રીતે બનાવવું.
મશીન લર્નિંગ મોડલનું નિર્માણ અને તાલીમ
કોઈપણ ડેટા એકત્રિત અથવા વિશ્લેષણ કર્યા વિના, અમે ફક્ત એક સરળ મોડેલને તાલીમ આપીશું. આ મોડેલોની જમાવટ સાથે અસંબંધિત છે અને હાથ પરના વિષય માટે જરૂરી નથી.
આઇરિસ ડેટાસેટ પર આધારિત મોડેલ તેનો ઉપયોગ કરીને ઇન્સ્ટોલ કરી શકાય છે મજ્જાતંતુકીય નેટવર્ક સ્થાપન પદ્ધતિ.
અને અમે તે જ કરીશું: ડાઉનલોડ કરો આઇરિસ ડેટાસેટ અને મોડેલને તાલીમ આપો. તે સરળ રહેશે નહીં. શરૂ કરવા માટે, jaysmlmodel.py નામની ફાઇલ બનાવો.
તેમાં, તમે નીચેની બાબતો કરશો:
- આયાત - તમારે પંડા, સ્કીટ-રેન્ડમફોરકાસ્ટક્લાસીફાયર, લર્નના પાયડેન્ટિકના બેઝમોડેલની જરૂર પડશે (તમે નીચેના પગલામાં શા માટે શોધી શકશો), અને મોડેલોને સ્ટોર કરવા અને લોડ કરવા માટે જોબલિબની જરૂર પડશે.
- IrisSpecies વર્ગ જાહેર કરો જે બેઝ મોડેલમાંથી વારસામાં મળે છે. આ વર્ગમાં ફક્ત એક જ ફૂલની પ્રજાતિની આગાહી કરવા માટે જરૂરી ક્ષેત્રો છે (આગામી વિભાગમાં તેના પર વધુ)
- એક વર્ગ બનાવો. IrisModel એ એક મોડેલ તાલીમ અને આગાહી સાધન છે.
- IrisModel ની અંદર _train મોડેલ નામની પદ્ધતિ જાહેર કરો. તેનો ઉપયોગ રેન્ડમ ફોરેસ્ટ ટેકનિકનો ઉપયોગ કરીને મોડેલોને તાલીમ આપવા માટે થાય છે. પ્રશિક્ષિત મોડેલ પ્રક્રિયા દ્વારા પરત કરવામાં આવે છે.
- IrisModel ની અંદર અનુમાનિત પ્રજાતિઓનું કાર્ય જાહેર કરો. તેનો ઉપયોગ 4 ઇનપુટ પરિબળો (ફૂલ માપ)ના આધારે આગાહી કરવા માટે થાય છે. પૂર્વાનુમાન (ફૂલની પ્રજાતિઓ) અને આગાહીની સંભાવના બંને અલ્ગોરિધમ દ્વારા પરત કરવામાં આવે છે.
- IrisModel માં કન્સ્ટ્રક્ટર બદલો જેથી કરીને તે Iris ડેટાસેટ લોડ કરે અને જો તે ફોલ્ડરમાંથી ગુમ થયેલ હોય તો મોડલને તાલીમ આપે. આ નવા મોડલને વારંવાર તાલીમ આપવાની સમસ્યાને હલ કરે છે. જોબલિબ લાઇબ્રેરીનો ઉપયોગ મોડલ લોડિંગ અને સેવિંગ માટે થાય છે.
અહીં આખો કોડ છે:
હું આશા રાખું છું કે ઉપરોક્ત સૂચિ અને ટિપ્પણીઓએ તેને સમજવામાં સરળ બનાવ્યું છે, તેમ છતાં આ બનાવવા માટે કોડનો મોટો જથ્થો હતો. હવે જ્યારે આ મોડેલ વિકસાવવામાં આવ્યું છે, ચાલો તેની આગાહી ક્ષમતાઓને a ઉપર પ્રકાશિત કરીએ REST API.
સંપૂર્ણ REST API બનાવવું
ml_model.py ફાઇલ પર પાછા ફરો અને તમામ ડેટાને સાફ કરો. બોઈલરપ્લેટ અનિવાર્યપણે તમારી પાસે પહેલા જેવી જ હશે, પરંતુ આપણે ખાલી ફાઈલથી શરૂઆત કરવી જોઈએ.
તમે આ વખતે માત્ર એક અંતિમ બિંદુને વ્યાખ્યાયિત કરશો, જેનો ઉપયોગ ફૂલનો પ્રકાર નક્કી કરવા માટે થાય છે. IrisModel.predict species(), જે અગાઉના વિભાગમાં જાહેર કરવામાં આવી હતી, તેને આગાહી કરવા માટે આ અંતિમ બિંદુ દ્વારા બોલાવવામાં આવે છે.
વિનંતીનો પ્રકાર અન્ય મોટો ફેરફાર છે. URL ને બદલે JSON માં પરિમાણો ટ્રાન્સમિટ કરવા માટે, એ ભલામણ કરવામાં આવે છે કે તમે ઉપયોગ કરતી વખતે POST નો ઉપયોગ કરો મશીન શિક્ષણ API
જો તમે એ માહિતી વૈજ્ .ાનિક, પરંતુ તે બરાબર છે. મૉડલ ડિઝાઇન કરવા અને જમાવવા માટે, વ્યક્તિએ HTTP વિનંતીઓ અને REST API પર નિષ્ણાત હોવું જરૂરી નથી.
ml model.py માટેનાં કાર્યો થોડા અને સીધા છે:
- તમારે અગાઉ બનાવેલી jaymlmodel.py ફાઇલમાંથી નીચેની આયાત કરવી આવશ્યક છે: uvicorn, FastAPI, IrisModel અને IrisSpecies.
- FastAPI અને IrisModel ના ઉદાહરણો બનાવો.
- આગાહીઓ કરવા માટે https://127.0.0.1:8000/predict પર ફંક્શન જાહેર કરો.
- IrisModel.predict species() પદ્ધતિ IrisSpecies પ્રકારનો ઑબ્જેક્ટ મેળવે છે, તેને શબ્દકોશમાં રૂપાંતરિત કરે છે, અને પછી તેને પરત કરે છે. વળતર એ અપેક્ષિત વર્ગ અને અનુમાનિત સંભાવના છે.
- API ને ચલાવવા માટે uvicorn નો ઉપયોગ કરો.
હજુ સુધી ફરીથી, અહીં તેની ટિપ્પણીઓ સાથે સંપૂર્ણ ફાઇલનો કોડ છે:
તમારે એટલું જ કરવાની જરૂર છે. આગલા પગલામાં, ચાલો API નું પરીક્ષણ કરીએ.
API નું પરીક્ષણ કરી રહ્યું છે
API ને એક્ઝિક્યુટ કરવા માટે નીચેની લાઇનને ટર્મિનલમાં ફરીથી દાખલ કરો: uvicorn ml_model:app –reload
દસ્તાવેજીકરણ પૃષ્ઠ આ રીતે દેખાય છે:
તેથી તે આજે માટે છે. આ પછીના ભાગમાં, ચાલો સમાપ્ત કરીએ.
ઉપસંહાર
આજે, તમે એક સરળ API ઉદાહરણ અને એક સરળ મશીન લર્નિંગ ઉદાહરણ બંનેનો ઉપયોગ કરીને FastAPI શું છે અને તેનો ઉપયોગ કેવી રીતે કરવો તે શીખ્યા. તમે API દસ્તાવેજીકરણ કેવી રીતે બનાવવું અને કેવી રીતે જોવું તે તેમજ તેનું પરીક્ષણ કેવી રીતે કરવું તે પણ શીખ્યા છો.
તે એક ભાગ માટે ઘણું છે, તેથી જો તે યોગ્ય રીતે સમજવા માટે થોડા વાંચન લે તો આશ્ચર્ય પામશો નહીં.
હેપી કોડિંગ.
એક જવાબ છોડો