காட்சியின் ஒரு அம்சம் இயந்திர கற்றல் மாதிரியை உருவாக்குவதாகும். இது நிஜ உலகில் பயன்படுத்தக்கூடியதாகவும், நுகர்வோர் மற்றும் டெவலப்பர்களுக்கு கிடைக்கக்கூடியதாகவும் இருக்க வேண்டும்.
இயந்திர கற்றல் மாதிரிகளை வரிசைப்படுத்துவதற்கான எளிய மற்றும் மிகவும் பிரபலமான வழி, அவற்றை REST API இல் இணைப்பதாகும்.
FastAPI எனப்படும் பிரபலமான நூலகத்துடன், அதைத்தான் இன்று நாம் நிறைவேற்றுவோம்.
ஆனால், என்ன FastAPI?
சமகால பைதான் திறன்களைப் பயன்படுத்திக் கொள்வதற்காக FastAPI பைதான் வலை கட்டமைப்பானது அடித்தளத்திலிருந்து உருவாக்கப்பட்டது.
வாடிக்கையாளர்களுடனான ஒத்திசைவற்ற, ஒரே நேரத்தில் தொடர்பு கொள்ள, இது ASGI தரநிலையை கடைபிடிக்கிறது, அதே நேரத்தில் WSGI ஐப் பயன்படுத்தும் திறன் கொண்டது.
இறுதிப்புள்ளிகள் மற்றும் வழிகள் இரண்டும் ஒத்திசைவு செயல்பாடுகளைப் பயன்படுத்தலாம். கூடுதலாக, FastAPI ஆனது வகை-குறிக்கப்பட்ட, சுத்தமான, சமகால பைதான் குறியீட்டில் வலை பயன்பாடுகளின் உற்பத்தி உருவாக்கத்தை செயல்படுத்துகிறது.
FastAPI இன் முக்கிய பயன்பாட்டு வழக்கு, பெயர் குறிப்பிடுவது போல, API இறுதிப்புள்ளிகளை உருவாக்குகிறது.
ஊடாடும் ஸ்வாக்கர் UIஐ உள்ளடக்கிய OpenAPI தரநிலையைப் பயன்படுத்துதல் அல்லது Python அகராதி தரவை JSON ஆக வழங்குதல் இரண்டும் இதை அடைய எளிய வழிகள். இருப்பினும், FastAPI என்பது APIகளுக்கு மட்டும் அல்ல.
ஜின்ஜா2 டெம்ப்ளேட் எஞ்சினைப் பயன்படுத்தி நிலையான வலைப்பக்கங்களை வழங்கவும், வெப்சாக்கெட்டுகளைப் பயன்படுத்தும் பயன்பாடுகளுக்கு சேவை செய்யவும், இணைய கட்டமைப்பால் செய்யக்கூடிய எல்லாவற்றையும் தவிர.
இந்தக் கட்டுரையில், ஒரு நேரடியான இயந்திரக் கற்றல் மாதிரியை உருவாக்குவோம், பின்னர் அதை வரிசைப்படுத்த FastAPI ஐப் பயன்படுத்துவோம். ஆரம்பித்துவிடுவோம்.
FastAPI இன் நிறுவல் மற்றும் முதல் API உருவாக்கம்
நூலகம் மற்றும் ASGI சேவையகத்தை நிறுவுதல் முதலில் தேவை; Uvuicorn அல்லது Hypercorn வேலை செய்யும். பின்வரும் கட்டளையை டெர்மினலில் உள்ளிடுவதன் மூலம் இது செயல்படுகிறது:
இப்போது API உருவாக்கப்பட்டுவிட்டதால், உங்களுக்கு விருப்பமான குறியீடு எடிட்டரைப் பயன்படுத்தி அதன் மூலம் உலாவலாம். தொடங்குவதற்கு ml_model.py எனப்படும் பைதான் ஸ்கிரிப்டை உருவாக்கவும். உங்களுடைய பெயருக்கு வேறு பெயரைக் கொடுப்பதை வரவேற்கிறோம், ஆனால் இந்த இடுகையின் பொருட்டு, நான் இந்தக் கோப்பை 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 விசை. தொடர்வதற்கு முன், இந்த கூற்றை நீக்குவோம். முதல் பயன்பாடானது, நீட்டிப்பு இல்லாமல் பைதான் கோப்பின் பெயரை மட்டும் பயன்படுத்துகிறது. இரண்டாவது பயன்பாட்டிற்கு உங்கள் FastAPI நிகழ்வின் அதே பெயர் இருக்க வேண்டும்.
-reload ஐப் பயன்படுத்துவதன் மூலம், புதிதாக தொடங்குவதற்குப் பதிலாக, கோப்பைச் சேமிக்கும் போது அது தானாக மறுஏற்றம் செய்ய வேண்டும் என்று நீங்கள் APIயிடம் கூறுகிறீர்கள்.
இப்போது ஒரு உலாவியைத் துவக்கி, https://127.0.0.1:8000 க்கு செல்லவும்; முடிவு பின்வருமாறு தோன்ற வேண்டும்:
FastAPI ஐப் பயன்படுத்தி எளிய API ஐ எவ்வாறு உருவாக்குவது என்பதை இப்போது நீங்கள் புரிந்துகொள்கிறீர்கள்.
இயந்திர கற்றல் மாதிரியை உருவாக்குதல் மற்றும் பயிற்சி செய்தல்
எந்தவொரு தரவையும் சேகரிக்காமல் அல்லது பகுப்பாய்வு செய்யாமல், நாங்கள் ஒரு எளிய மாதிரியைப் பயிற்றுவிப்போம். இவை மாதிரிகளின் வரிசைப்படுத்தலுடன் தொடர்பில்லாதவை மற்றும் கையில் இருக்கும் தலைப்புக்கு அவசியமில்லை.
ஐரிஸ் தரவுத்தொகுப்பை அடிப்படையாகக் கொண்ட மாதிரியை அதைப் பயன்படுத்தி நிறுவலாம் நரம்பு நெட்வொர்க் நிறுவல் முறை.
நாங்கள் அதைச் செய்வோம்: பதிவிறக்கவும் கருவிழி தரவுத்தொகுப்பு மற்றும் மாதிரி பயிற்சி. அது எளிமையாக இருக்காது. தொடங்க, jaysmlmodel.py என்ற கோப்பை உருவாக்கவும்.
அதில், நீங்கள் பின்வருவனவற்றைச் செய்வீர்கள்:
- இறக்குமதிகள் — உங்களுக்கு பாண்டாக்கள், ஸ்கிகிட்-ரேண்டம் ஃபோர்காஸ்ட் கிளாசிஃபையர், லேர்ன்ஸ் பைடான்டிக் பேஸ்மாடல் (ஏன் என்பதை பின்வரும் படிநிலையில் நீங்கள் கண்டறியலாம்) மற்றும் மாடல்களை சேமித்து ஏற்றுவதற்கு ஜாப்லிப் தேவைப்படும்.
- அடிப்படை மாதிரியிலிருந்து பெறப்பட்ட ஐரிஸ் ஸ்பெசீஸ் வகுப்பை அறிவிக்கவும். இந்த வகுப்பில் ஒரு மலர் இனத்தைக் கணிக்கத் தேவையான புலங்கள் மட்டுமே உள்ளன (அடுத்த பகுதியில் மேலும்)
- ஒரு வகுப்பை உருவாக்கவும். IrisModel ஒரு மாதிரி பயிற்சி மற்றும் முன்கணிப்பு கருவி.
- ஐரிஸ்மாடலில் _ட்ரெய்ன் மாடல் என்ற முறையை அறிவிக்கவும். இது ரேண்டம் ஃபாரஸ்ட் நுட்பத்தைப் பயன்படுத்தி மாதிரிகளைப் பயிற்றுவிக்கப் பயன்படுகிறது. பயிற்சியளிக்கப்பட்ட மாதிரி செயல்முறை மூலம் திரும்பப் பெறப்படுகிறது.
- ஐரிஸ்மாடலின் உள்ளே கணிக்கப்பட்ட இனங்கள் செயல்பாட்டை அறிவிக்கவும். இது 4 உள்ளீட்டு காரணிகளின் (மலர் அளவீடுகள்) அடிப்படையில் கணிக்கப் பயன்படுகிறது. முன்னறிவிப்பு (மலர் இனங்கள்) மற்றும் முன்கணிப்பு நிகழ்தகவு ஆகிய இரண்டும் அல்காரிதம் மூலம் திரும்பும்.
- ஐரிஸ் மாடலில் உள்ள கன்ஸ்ட்ரக்டரை மாற்றவும், இதனால் அது ஐரிஸ் தரவுத்தொகுப்பை ஏற்றுகிறது மற்றும் கோப்புறையில் இருந்து விடுபட்டால் மாதிரியைப் பயிற்றுவிக்கும். புதிய மாடல்களை மீண்டும் மீண்டும் பயிற்சி செய்வதன் சிக்கலை இது தீர்க்கிறது. ஜாப்லிப் நூலகம் மாதிரியை ஏற்றுவதற்கும் சேமிப்பதற்கும் பயன்படுத்தப்படுகிறது.
முழு குறியீடும் இங்கே:
மேலே உள்ள பட்டியலையும் கருத்துக்களையும் எளிதாகப் புரிந்துகொள்வதற்கு இது ஒரு கணிசமான அளவு குறியீட்டை உருவாக்கியது என்று நம்புகிறேன். இப்போது இந்த மாதிரி உருவாக்கப்பட்டுள்ளது, அதன் கணிப்பு திறன்களை வெளியிடலாம் 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
ஆவணப் பக்கம் இப்படித்தான் தோன்றும்:
அதனால் இன்றைக்கு அவ்வளவுதான். இதற்குப் பின் பகுதியில், முடிப்போம்.
தீர்மானம்
இன்று, FastAPI என்றால் என்ன, அதை எப்படி பயன்படுத்துவது என்பதை எளிய API உதாரணம் மற்றும் எளிய இயந்திர கற்றல் உதாரணம் இரண்டையும் பயன்படுத்தி கற்றுக்கொண்டீர்கள். API ஆவணங்களை எவ்வாறு உருவாக்குவது மற்றும் பார்ப்பது, அதை எவ்வாறு சோதிப்பது என்பதையும் நீங்கள் கற்றுக்கொண்டீர்கள்.
ஒரு துண்டுக்கு இது நிறைய இருக்கிறது, எனவே சரியாகப் புரிந்துகொள்ள சில வாசிப்புகளை எடுத்தால் ஆச்சரியப்பட வேண்டாம்.
மகிழ்ச்சியான குறியீட்டு முறை.
ஒரு பதில் விடவும்