You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
316 lines
34 KiB
316 lines
34 KiB
# ക്ലൗഡിലെ ഡാറ്റാ സയൻസ്: "Azure ML SDK" വഴി
|
|
|
|
| ](../../sketchnotes/19-DataScience-Cloud.png)|
|
|
|:---:|
|
|
| ക്ലൗഡിലെ ഡാറ്റാ സയൻസ്: Azure ML SDK - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
|
|
|
|
അടിസ്ഥാന പട്ടിക:
|
|
|
|
- [ക്ലൗഡിലെ ഡാറ്റാ സയൻസ്: "Azure ML SDK" വഴി](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [പ്രീ-ലെക്ചർ ക്വിസ്](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [1. പരിചയം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [1.1 Azure ML SDK എന്താണ്?](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [1.2 ഹാർട്ട് ഫെയില്യർ പ്രവചനം പ്രോജക്ടും ഡാറ്റാസെറ്റും പരിചയം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2. Azure ML SDK ഉപയോഗിച്ച് മോഡൽ പരിശീലനം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.1 Azure ML വർക്ക്സ്പേസ് സൃഷ്ടിക്കുക](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.2 കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കുക](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.3 ഡാറ്റാസെറ്റ് ലോഡ് ചെയ്യൽ](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.4 നോട്ട്ബുക്കുകൾ സൃഷ്ടിക്കൽ](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.5 മോഡൽ പരിശീലനം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.5.1 വർക്ക്സ്പേസ്, പരീക്ഷണം, കംപ്യൂട്ട് ക്ലസ്റ്റർ, ഡാറ്റാസെറ്റ് സജ്ജീകരിക്കൽ](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [2.5.2 AutoML കോൺഫിഗറേഷൻ, പരിശീലനം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [3. Azure ML SDK ഉപയോഗിച്ച് മോഡൽ വിന്യാസവും എൻഡ്പോയിന്റ് ഉപയോഗവും](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [3.1 മികച്ച മോഡൽ സേവ് ചെയ്യൽ](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [3.2 മോഡൽ വിന്യാസം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [3.3 എൻഡ്പോയിന്റ് ഉപയോഗം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [🚀 ചലഞ്ച്](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [പോസ്റ്റ്-ലെക്ചർ ക്വിസ്](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [പരിശോധന & സ്വയം പഠനം](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
- [അസൈൻമെന്റ്](../../../../5-Data-Science-In-Cloud/19-Azure)
|
|
|
|
## [പ്രീ-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ds/quiz/36)
|
|
|
|
## 1. പരിചയം
|
|
|
|
### 1.1 Azure ML SDK എന്താണ്?
|
|
|
|
ഡാറ്റാ സയന്റിസ്റ്റുകളും AI ഡെവലപ്പർമാരും Azure Machine Learning SDK ഉപയോഗിച്ച് Azure Machine Learning സേവനത്തോടെ മെഷീൻ ലേണിംഗ് പ്രവൃത്തികൾ നിർമ്മിക്കുകയും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. നിങ്ങൾക്ക് Jupyter നോട്ട്ബുക്കുകൾ, Visual Studio Code, അല്ലെങ്കിൽ നിങ്ങളുടെ ഇഷ്ട Python IDE ഉൾപ്പെടെയുള്ള ഏതെങ്കിലും Python പരിസ്ഥിതിയിൽ ഈ സേവനവുമായി ഇടപഴകാം.
|
|
|
|
SDKയുടെ പ്രധാന മേഖലകൾ:
|
|
|
|
- മെഷീൻ ലേണിംഗ് പരീക്ഷണങ്ങളിൽ ഉപയോഗിക്കുന്ന നിങ്ങളുടെ ഡാറ്റാസെറ്റുകളുടെ ജീവിതചക്രം പരിശോധിക്കുക, തയ്യാറാക്കുക, നിയന്ത്രിക്കുക.
|
|
- നിങ്ങളുടെ മെഷീൻ ലേണിംഗ് പരീക്ഷണങ്ങൾ നിരീക്ഷിക്കാൻ, ലോഗ് ചെയ്യാൻ, ക്രമീകരിക്കാൻ ക്ലൗഡ് വിഭവങ്ങൾ നിയന്ത്രിക്കുക.
|
|
- മോഡലുകൾ പ്രാദേശികമായി അല്ലെങ്കിൽ GPU-വേഗതയുള്ള ക്ലൗഡ് വിഭവങ്ങൾ ഉപയോഗിച്ച് പരിശീലിപ്പിക്കുക.
|
|
- ഓട്ടോമേറ്റഡ് മെഷീൻ ലേണിംഗ് ഉപയോഗിക്കുക, ഇത് കോൺഫിഗറേഷൻ പാരാമീറ്ററുകളും പരിശീലന ഡാറ്റയും സ്വീകരിച്ച്, മികച്ച മോഡൽ കണ്ടെത്താൻ ആൽഗോരിതങ്ങൾക്കും ഹൈപ്പർപാരാമീറ്റർ ക്രമീകരണങ്ങൾക്കും സ്വയം പരീക്ഷണം നടത്തുന്നു.
|
|
- പരിശീലിപ്പിച്ച മോഡലുകൾ RESTful സേവനങ്ങളായി മാറ്റാൻ വെബ് സേവനങ്ങൾ വിന്യസിക്കുക, ഇത് ഏതെങ്കിലും ആപ്ലിക്കേഷനിൽ ഉപയോഗിക്കാം.
|
|
|
|
[Azure Machine Learning SDKയെ കുറിച്ച് കൂടുതൽ അറിയുക](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
|
|
|
|
[മുൻപത്തെ പാഠത്തിൽ](../18-Low-Code/README.md) നാം ലോ കോഡ്/നോ കോഡ് രീതിയിൽ മോഡൽ പരിശീലിപ്പിക്കുകയും വിന്യസിക്കുകയും ഉപയോഗിക്കുകയും ചെയ്തിരുന്നു. ഹാർട്ട് ഫെയില്യർ ഡാറ്റാസെറ്റ് ഉപയോഗിച്ച് ഹാർട്ട് ഫെയില്യർ പ്രവചന മോഡൽ സൃഷ്ടിച്ചു. ഈ പാഠത്തിൽ, നാം അതേ പ്രവർത്തി Azure Machine Learning SDK ഉപയോഗിച്ച് ചെയ്യാൻ പോകുന്നു.
|
|
|
|

|
|
|
|
### 1.2 ഹാർട്ട് ഫെയില്യർ പ്രവചനം പ്രോജക്ടും ഡാറ്റാസെറ്റും പരിചയം
|
|
|
|
ഹാർട്ട് ഫെയില്യർ പ്രവചനം പ്രോജക്ടും ഡാറ്റാസെറ്റും പരിചയപ്പെടാൻ [ഇവിടെ](../18-Low-Code/README.md) നോക്കുക.
|
|
|
|
## 2. Azure ML SDK ഉപയോഗിച്ച് മോഡൽ പരിശീലനം
|
|
### 2.1 Azure ML വർക്ക്സ്പേസ് സൃഷ്ടിക്കുക
|
|
|
|
സൗകര്യത്തിനായി, നാം ഒരു Jupyter നോട്ട്ബുക്കിൽ പ്രവർത്തിക്കാനാണ് പോകുന്നത്. ഇതിന് നിങ്ങൾക്ക് ഇതിനകം ഒരു വർക്ക്സ്പേസ്, കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് ഉണ്ടായിരിക്കണം. നിങ്ങൾക്ക് ഇതിനകം വർക്ക്സ്പേസ് ഉണ്ടെങ്കിൽ, നേരിട്ട് 2.3 നോട്ട്ബുക്ക് സൃഷ്ടിക്കൽ വിഭാഗത്തിലേക്ക് പോകാം.
|
|
|
|
ഇല്ലെങ്കിൽ, [മുൻപത്തെ പാഠത്തിലെ](../18-Low-Code/README.md) **2.1 Azure ML വർക്ക്സ്പേസ് സൃഷ്ടിക്കുക** വിഭാഗത്തിലെ നിർദ്ദേശങ്ങൾ പാലിച്ച് വർക്ക്സ്പേസ് സൃഷ്ടിക്കുക.
|
|
|
|
### 2.2 കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കുക
|
|
|
|
മുൻപ് സൃഷ്ടിച്ച [Azure ML വർക്ക്സ്പേസിൽ](https://ml.azure.com/) കംപ്യൂട്ട് മെനുവിലേക്ക് പോകുക, അവിടെ ലഭ്യമായ വിവിധ കംപ്യൂട്ട് വിഭവങ്ങൾ കാണാം
|
|
|
|

|
|
|
|
Jupyter നോട്ട്ബുക്ക് പ്രൊവിഷൻ ചെയ്യാൻ ഒരു കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് സൃഷ്ടിക്കാം.
|
|
1. + New ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.
|
|
2. നിങ്ങളുടെ കംപ്യൂട്ട് ഇൻസ്റ്റൻസിന് ഒരു പേര് നൽകുക.
|
|
3. CPU അല്ലെങ്കിൽ GPU, VM വലുപ്പം, കോർ എണ്ണം തിരഞ്ഞെടുക്കുക.
|
|
4. Create ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.
|
|
|
|
അഭിനന്ദനങ്ങൾ, നിങ്ങൾ ഒരു കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് സൃഷ്ടിച്ചു! നാം ഈ കംപ്യൂട്ട് ഇൻസ്റ്റൻസ് ഉപയോഗിച്ച് [നോട്ട്ബുക്കുകൾ സൃഷ്ടിക്കൽ](../../../../5-Data-Science-In-Cloud/19-Azure) വിഭാഗത്തിൽ നോട്ട്ബുക്ക് സൃഷ്ടിക്കും.
|
|
|
|
### 2.3 ഡാറ്റാസെറ്റ് ലോഡ് ചെയ്യൽ
|
|
ഡാറ്റാസെറ്റ് അപ്ലോഡ് ചെയ്തിട്ടില്ലെങ്കിൽ, [മുൻപത്തെ പാഠത്തിലെ](../18-Low-Code/README.md) **2.3 ഡാറ്റാസെറ്റ് ലോഡ് ചെയ്യൽ** വിഭാഗം കാണുക.
|
|
|
|
### 2.4 നോട്ട്ബുക്കുകൾ സൃഷ്ടിക്കൽ
|
|
|
|
> **_കുറിപ്പ്:_** അടുത്ത ഘട്ടത്തിന്, നിങ്ങൾക്ക് പുതിയ നോട്ട്ബുക്ക് സൃഷ്ടിക്കാം, അല്ലെങ്കിൽ [നാം സൃഷ്ടിച്ച നോട്ട്ബുക്ക്](notebook.ipynb) നിങ്ങളുടെ Azure ML സ്റ്റുഡിയോയിലേക്ക് അപ്ലോഡ് ചെയ്യാം. അപ്ലോഡ് ചെയ്യാൻ, "Notebook" മെനുവിൽ ക്ലിക്ക് ചെയ്ത് നോട്ട്ബുക്ക് അപ്ലോഡ് ചെയ്യുക.
|
|
|
|
നോട്ട്ബുക്കുകൾ ഡാറ്റാ സയൻസ് പ്രക്രിയയുടെ വളരെ പ്രധാനപ്പെട്ട ഭാഗമാണ്. അവ എക്സ്പ്ലോറട്ടറി ഡാറ്റാ അനാലിസിസ് (EDA) നടത്താൻ, മോഡൽ പരിശീലനത്തിനായി കംപ്യൂട്ട് ക്ലസ്റ്ററിലേക്ക് വിളിക്കാൻ, എൻഡ്പോയിന്റ് വിന്യാസത്തിനായി ഇൻഫറൻസ് ക്ലസ്റ്ററിലേക്ക് വിളിക്കാൻ ഉപയോഗിക്കാം.
|
|
|
|
നോട്ട്ബുക്ക് സൃഷ്ടിക്കാൻ, ജുപിറ്റർ നോട്ട്ബുക്ക് ഇൻസ്റ്റൻസ് സർവീസ് ചെയ്യുന്ന കംപ്യൂട്ട് നോഡ് ആവശ്യമാണ്. [Azure ML വർക്ക്സ്പേസിലേക്ക്](https://ml.azure.com/) മടങ്ങി കംപ്യൂട്ട് ഇൻസ്റ്റൻസുകൾ ക്ലിക്ക് ചെയ്യുക. കംപ്യൂട്ട് ഇൻസ്റ്റൻസുകളുടെ പട്ടികയിൽ [മുൻപ് സൃഷ്ടിച്ച കംപ്യൂട്ട് ഇൻസ്റ്റൻസ്](../../../../5-Data-Science-In-Cloud/19-Azure) കാണാം.
|
|
|
|
1. Applications വിഭാഗത്തിൽ Jupyter ഓപ്ഷൻ ക്ലിക്ക് ചെയ്യുക.
|
|
2. "Yes, I understand" ബോക്സ് ടിക്ക് ചെയ്ത് Continue ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.
|
|

|
|
3. ഇത് പുതിയ ബ്രൗസർ ടാബിൽ നിങ്ങളുടെ ജുപിറ്റർ നോട്ട്ബുക്ക് ഇൻസ്റ്റൻസ് തുറക്കും. "New" ബട്ടൺ ക്ലിക്ക് ചെയ്ത് നോട്ട്ബുക്ക് സൃഷ്ടിക്കുക.
|
|
|
|

|
|
|
|
ഇപ്പോൾ നോട്ട്ബുക്ക് ഉണ്ടാകുമ്പോൾ, Azure ML SDK ഉപയോഗിച്ച് മോഡൽ പരിശീലനം ആരംഭിക്കാം.
|
|
|
|
### 2.5 മോഡൽ പരിശീലനം
|
|
|
|
ആദ്യമേ, സംശയമുണ്ടെങ്കിൽ, [Azure ML SDK ഡോക്യുമെന്റേഷൻ](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) കാണുക. ഈ പാഠത്തിൽ കാണുന്ന മോഡ്യൂളുകൾ മനസ്സിലാക്കാൻ ആവശ്യമായ എല്ലാ വിവരങ്ങളും അവിടെ ഉണ്ട്.
|
|
|
|
#### 2.5.1 വർക്ക്സ്പേസ്, പരീക്ഷണം, കംപ്യൂട്ട് ക്ലസ്റ്റർ, ഡാറ്റാസെറ്റ് സജ്ജീകരിക്കൽ
|
|
|
|
നിങ്ങൾക്ക് കോൺഫിഗറേഷൻ ഫയലിൽ നിന്ന് `workspace` ലോഡ് ചെയ്യേണ്ടതാണ് താഴെ കാണുന്ന കോഡ് ഉപയോഗിച്ച്:
|
|
|
|
```python
|
|
from azureml.core import Workspace
|
|
ws = Workspace.from_config()
|
|
```
|
|
|
|
ഇത് `Workspace` തരം ഒബ്ജക്റ്റ് നൽകുന്നു, ഇത് വർക്ക്സ്പേസ് പ്രതിനിധീകരിക്കുന്നു. തുടർന്ന്, താഴെ കാണുന്ന കോഡ് ഉപയോഗിച്ച് ഒരു `experiment` സൃഷ്ടിക്കണം:
|
|
|
|
```python
|
|
from azureml.core import Experiment
|
|
experiment_name = 'aml-experiment'
|
|
experiment = Experiment(ws, experiment_name)
|
|
```
|
|
|
|
വർക്ക്സ്പേസിൽ നിന്ന് പരീക്ഷണം ലഭിക്കുകയോ സൃഷ്ടിക്കുകയോ ചെയ്യാൻ, പരീക്ഷണത്തിന്റെ പേര് ഉപയോഗിച്ച് അപേക്ഷിക്കാം. പരീക്ഷണത്തിന്റെ പേര് 3-36 അക്ഷരങ്ങൾ ആയിരിക്കണം, അക്ഷരമോ സംഖ്യയോ കൊണ്ട് തുടങ്ങണം, അക്ഷരങ്ങൾ, സംഖ്യകൾ, അണ്ടർസ്കോർ, ഡാഷ് എന്നിവ മാത്രമേ ഉൾക്കൊള്ളൂ. പരീക്ഷണം വർക്ക്സ്പേസിൽ കണ്ടെത്താനാകാതെപോയാൽ പുതിയ പരീക്ഷണം സൃഷ്ടിക്കും.
|
|
|
|
ഇപ്പോൾ പരിശീലനത്തിനായി കംപ്യൂട്ട് ക്ലസ്റ്റർ സൃഷ്ടിക്കേണ്ടതാണ്, താഴെ കാണുന്ന കോഡ് ഉപയോഗിച്ച്. ഈ ഘട്ടം കുറച്ച് മിനിറ്റുകൾ എടുക്കാം.
|
|
|
|
```python
|
|
from azureml.core.compute import AmlCompute
|
|
|
|
aml_name = "heart-f-cluster"
|
|
try:
|
|
aml_compute = AmlCompute(ws, aml_name)
|
|
print('Found existing AML compute context.')
|
|
except:
|
|
print('Creating new AML compute context.')
|
|
aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
|
|
aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
|
|
aml_compute.wait_for_completion(show_output = True)
|
|
|
|
cts = ws.compute_targets
|
|
compute_target = cts[aml_name]
|
|
```
|
|
|
|
ഡാറ്റാസെറ്റ് വർക്ക്സ്പേസിൽ നിന്ന് ഡാറ്റാസെറ്റ് നാമം ഉപയോഗിച്ച് താഴെ കാണുന്ന രീതിയിൽ ലഭിക്കും:
|
|
|
|
```python
|
|
dataset = ws.datasets['heart-failure-records']
|
|
df = dataset.to_pandas_dataframe()
|
|
df.describe()
|
|
```
|
|
|
|
|
|
#### 2.5.2 AutoML കോൺഫിഗറേഷൻ, പരിശീലനം
|
|
|
|
AutoML കോൺഫിഗറേഷൻ സജ്ജമാക്കാൻ [AutoMLConfig ക്ലാസ്](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) ഉപയോഗിക്കുക.
|
|
|
|
ഡോക്യുമെന്റേഷനിൽ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ, നിങ്ങൾക്ക് പല പാരാമീറ്ററുകളുമായി കളിക്കാം. ഈ പ്രോജക്ടിനായി, താഴെ കാണുന്ന പാരാമീറ്ററുകൾ ഉപയോഗിക്കും:
|
|
|
|
- `experiment_timeout_minutes`: പരീക്ഷണം ഓടാൻ അനുവദിച്ച പരമാവധി സമയം (മിനിറ്റുകളിൽ), അതിനുശേഷം സ്വയം നിർത്തുകയും ഫലങ്ങൾ ലഭ്യമാക്കുകയും ചെയ്യും
|
|
- `max_concurrent_iterations`: പരീക്ഷണത്തിന് അനുവദിച്ച പരമാവധി സമകാലിക പരിശീലന ഇറ്ററേഷനുകളുടെ എണ്ണം
|
|
- `primary_metric`: പരീക്ഷണത്തിന്റെ നില നിർണ്ണയിക്കാൻ ഉപയോഗിക്കുന്ന പ്രധാന മെട്രിക്
|
|
- `compute_target`: ഓട്ടോമേറ്റഡ് മെഷീൻ ലേണിംഗ് പരീക്ഷണം നടത്താൻ Azure Machine Learning കംപ്യൂട്ട് ടാർഗറ്റ്
|
|
- `task`: നടത്തേണ്ട ടാസ്കിന്റെ തരം. 'classification', 'regression', അല്ലെങ്കിൽ 'forecasting' എന്നിങ്ങനെ ഓട്ടോമേറ്റഡ് ML പ്രശ്നത്തിന്റെ തരം അനുസരിച്ച്
|
|
- `training_data`: പരീക്ഷണത്തിൽ ഉപയോഗിക്കുന്ന പരിശീലന ഡാറ്റ. പരിശീലന ഫീച്ചറുകളും ലേബൽ കോളവും (ഓപ്ഷണൽ സാംപിൾ വെയ്റ്റ് കോളവും) ഉൾക്കൊള്ളണം
|
|
- `label_column_name`: ലേബൽ കോളത്തിന്റെ പേര്
|
|
- `path`: Azure Machine Learning പ്രോജക്ട് ഫോൾഡറിന്റെ പൂർണ്ണ പാത
|
|
- `enable_early_stopping`: സ്കോർ കുറയുന്നുണ്ടെങ്കിൽ നേരത്തെ അവസാനിപ്പിക്കാൻ അനുവദിക്കണോ എന്നത്
|
|
- `featurization`: ഫീച്ചറൈസേഷൻ സ്വയം ചെയ്യണോ, അല്ലെങ്കിൽ കസ്റ്റമൈസ്ഡ് ഫീച്ചറൈസേഷൻ ഉപയോഗിക്കണോ എന്ന സൂചിക
|
|
- `debug_log`: ഡീബഗ് വിവരങ്ങൾ എഴുതാനുള്ള ലോഗ് ഫയൽ
|
|
|
|
```python
|
|
from azureml.train.automl import AutoMLConfig
|
|
|
|
project_folder = './aml-project'
|
|
|
|
automl_settings = {
|
|
"experiment_timeout_minutes": 20,
|
|
"max_concurrent_iterations": 3,
|
|
"primary_metric" : 'AUC_weighted'
|
|
}
|
|
|
|
automl_config = AutoMLConfig(compute_target=compute_target,
|
|
task = "classification",
|
|
training_data=dataset,
|
|
label_column_name="DEATH_EVENT",
|
|
path = project_folder,
|
|
enable_early_stopping= True,
|
|
featurization= 'auto',
|
|
debug_log = "automl_errors.log",
|
|
**automl_settings
|
|
)
|
|
```
|
|
|
|
ഇപ്പോൾ കോൺഫിഗറേഷൻ സജ്ജമാക്കിയതിനുശേഷം, താഴെ കാണുന്ന കോഡ് ഉപയോഗിച്ച് മോഡൽ പരിശീലിപ്പിക്കാം. ക്ലസ്റ്റർ വലുപ്പം അനുസരിച്ച് ഈ ഘട്ടം ഒരു മണിക്കൂർ വരെ എടുക്കാം.
|
|
|
|
```python
|
|
remote_run = experiment.submit(automl_config)
|
|
```
|
|
|
|
RunDetails വിഡ്ജറ്റ് ഉപയോഗിച്ച് വ്യത്യസ്ത പരീക്ഷണങ്ങൾ കാണാം.
|
|
```python
|
|
from azureml.widgets import RunDetails
|
|
RunDetails(remote_run).show()
|
|
```
|
|
|
|
|
|
## 3. Azure ML SDK ഉപയോഗിച്ച് മോഡൽ വിന്യാസവും എൻഡ്പോയിന്റ് ഉപയോഗവും
|
|
|
|
### 3.1 മികച്ച മോഡൽ സേവ് ചെയ്യൽ
|
|
|
|
`remote_run` എന്നത് [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) തരം ഒബ്ജക്റ്റാണ്. ഈ ഒബ്ജക്റ്റിന് `get_output()` എന്ന മെത്തഡ് ഉണ്ട്, ഇത് മികച്ച റൺയും അനുബന്ധിച്ച ഫിറ്റുചെയ്ത മോഡലും നൽകുന്നു.
|
|
|
|
```python
|
|
best_run, fitted_model = remote_run.get_output()
|
|
```
|
|
|
|
മികച്ച മോഡലിന് ഉപയോഗിച്ച പാരാമീറ്ററുകൾ കാണാൻ, ഫിറ്റുചെയ്ത മോഡൽ പ്രിന്റ് ചെയ്യുക. മികച്ച മോഡലിന്റെ പ്രോപ്പർട്ടികൾ കാണാൻ [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) മെത്തഡ് ഉപയോഗിക്കുക.
|
|
|
|
```python
|
|
best_run.get_properties()
|
|
```
|
|
|
|
ഇപ്പോൾ മോഡൽ [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) മെത്തഡ് ഉപയോഗിച്ച് രജിസ്റ്റർ ചെയ്യുക.
|
|
```python
|
|
model_name = best_run.properties['model_name']
|
|
script_file_name = 'inference/score.py'
|
|
best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
|
|
description = "aml heart failure project sdk"
|
|
model = best_run.register_model(model_name = model_name,
|
|
model_path = './outputs/',
|
|
description = description,
|
|
tags = None)
|
|
```
|
|
|
|
|
|
### 3.2 മോഡൽ വിന്യാസം
|
|
|
|
മികച്ച മോഡൽ സേവ് ചെയ്ത ശേഷം, [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) ക്ലാസ് ഉപയോഗിച്ച് വിന്യസിക്കാം. InferenceConfig വിന്യാസത്തിനായി ഉപയോഗിക്കുന്ന കസ്റ്റം പരിസ്ഥിതിയുടെ കോൺഫിഗറേഷൻ സജ്ജീകരണങ്ങൾ പ്രതിനിധീകരിക്കുന്നു. [AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) ക്ലാസ് Azure Container Instances-ൽ വെബ് സേവന എൻഡ്പോയിന്റായി വിന്യസിച്ച മെഷീൻ ലേണിംഗ് മോഡൽ പ്രതിനിധീകരിക്കുന്നു. മോഡൽ, സ്ക്രിപ്റ്റ്, അനുബന്ധ ഫയലുകൾ എന്നിവയിൽ നിന്നാണ് വിന്യസിച്ച സേവനം സൃഷ്ടിക്കുന്നത്. ഫലമായി ലഭിക്കുന്ന വെബ് സേവനം ലോഡ് ബാലൻസ്ഡ്, HTTP എൻഡ്പോയിന്റ് ആണ്, REST API ഉണ്ട്. നിങ്ങൾക്ക് ഈ API-യിലേക്ക് ഡാറ്റ അയച്ച് മോഡലിന്റെ പ്രവചനങ്ങൾ സ്വീകരിക്കാം.
|
|
|
|
മോഡൽ [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) മെത്തഡ് ഉപയോഗിച്ച് വിന്യസിക്കുന്നു.
|
|
|
|
```python
|
|
from azureml.core.model import InferenceConfig, Model
|
|
from azureml.core.webservice import AciWebservice
|
|
|
|
inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
|
|
|
|
aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
|
|
memory_gb = 1,
|
|
tags = {'type': "automl-heart-failure-prediction"},
|
|
description = 'Sample service for AutoML Heart Failure Prediction')
|
|
|
|
aci_service_name = 'automl-hf-sdk'
|
|
aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
|
|
aci_service.wait_for_deployment(True)
|
|
print(aci_service.state)
|
|
```
|
|
|
|
ഈ ഘട്ടം കുറച്ച് മിനിറ്റുകൾ എടുക്കും.
|
|
|
|
### 3.3 എൻഡ്പോയിന്റ് ഉപയോഗം
|
|
|
|
നിങ്ങളുടെ എൻഡ്പോയിന്റ് ഉപയോഗിക്കാൻ ഒരു സാമ്പിൾ ഇൻപുട്ട് സൃഷ്ടിക്കുക:
|
|
```python
|
|
data = {
|
|
"data":
|
|
[
|
|
{
|
|
'age': "60",
|
|
'anaemia': "false",
|
|
'creatinine_phosphokinase': "500",
|
|
'diabetes': "false",
|
|
'ejection_fraction': "38",
|
|
'high_blood_pressure': "false",
|
|
'platelets': "260000",
|
|
'serum_creatinine': "1.40",
|
|
'serum_sodium': "137",
|
|
'sex': "false",
|
|
'smoking': "false",
|
|
'time': "130",
|
|
},
|
|
],
|
|
}
|
|
|
|
test_sample = str.encode(json.dumps(data))
|
|
```
|
|
അതിനുശേഷം, പ്രവചനത്തിനായി ഈ ഇൻപുട്ട് നിങ്ങളുടെ മോഡലിലേക്ക് അയയ്ക്കാം:
|
|
|
|
```python
|
|
response = aci_service.run(input_data=test_sample)
|
|
response
|
|
```
|
|
ഇത് `'{"result": [false]}'` എന്ന ഔട്ട്പുട്ട് നൽകണം. ഇതിന്റെ അർത്ഥം, ഞങ്ങൾ എൻഡ്പോയിന്റിലേക്ക് അയച്ച രോഗിയുടെ ഇൻപുട്ട് `false` എന്ന പ്രവചനമാണ് സൃഷ്ടിച്ചത്, അതായത് ഈ വ്യക്തിക്ക് ഹൃദയാഘാതം സംഭവിക്കാനുള്ള സാധ്യത കുറവാണ്.
|
|
|
|
അഭിനന്ദനങ്ങൾ! നിങ്ങൾ ഇപ്പോൾ Azure ML SDK ഉപയോഗിച്ച് Azure ML-ൽ ഡിപ്ലോയ് ചെയ്ത് പരിശീലിപ്പിച്ച മോഡൽ ഉപയോഗിച്ചു!
|
|
|
|
> **_കുറിപ്പ്:_** പ്രോജക്ട് പൂർത്തിയാക്കിയ ശേഷം എല്ലാ റിസോഴ്സുകളും ഇല്ലാതാക്കാൻ മറക്കരുത്.
|
|
|
|
## 🚀 ചലഞ്ച്
|
|
|
|
SDK വഴി നിങ്ങൾ ചെയ്യാൻ കഴിയുന്ന മറ്റു പല കാര്യങ്ങളും ഉണ്ട്, പക്ഷേ ഈ പാഠത്തിൽ അവ എല്ലാം കാണാൻ സാധിക്കില്ല. എന്നാൽ നല്ല വാർത്ത, SDK ഡോക്യുമെന്റേഷൻ എങ്ങനെ സ്കിം ചെയ്യാമെന്ന് പഠിക്കുന്നത് നിങ്ങൾക്ക് സ്വയം വളരെ സഹായകമായിരിക്കും. Azure ML SDK ഡോക്യുമെന്റേഷൻ പരിശോധിച്ച് പൈപ്പ്ലൈൻ സൃഷ്ടിക്കാൻ അനുവദിക്കുന്ന `Pipeline` ക്ലാസ് കണ്ടെത്തുക. ഒരു Pipeline എന്നത് ഒരു വർക്ക്ഫ്ലോ ആയി പ്രവർത്തിപ്പിക്കാവുന്ന പല ഘട്ടങ്ങളുടെ സമാഹാരമാണ്.
|
|
|
|
**സൂചന:** [SDK ഡോക്യുമെന്റേഷൻ](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) സന്ദർശിച്ച് തിരയൽ ബാറിൽ "Pipeline" പോലുള്ള കീവേഡുകൾ ടൈപ്പ് ചെയ്യുക. തിരയൽ ഫലങ്ങളിൽ `azureml.pipeline.core.Pipeline` ക്ലാസ് കാണാം.
|
|
|
|
## [പോസ്റ്റ്-ലെക്ചർ ക്വിസ്](https://ff-quizzes.netlify.app/en/ds/quiz/37)
|
|
|
|
## അവലോകനം & സ്വയം പഠനം
|
|
|
|
ഈ പാഠത്തിൽ, നിങ്ങൾ Azure ML SDK ഉപയോഗിച്ച് ഹൃദയ പരാജയ സാധ്യത പ്രവചിക്കാൻ മോഡൽ പരിശീലിപ്പിക്കുകയും ഡിപ്ലോയ് ചെയ്യുകയും ഉപയോഗിക്കുകയും ചെയ്യുന്നത് പഠിച്ചു. Azure ML SDK-യെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് ഈ [ഡോക്യുമെന്റേഷൻ](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) പരിശോധിക്കുക. Azure ML SDK ഉപയോഗിച്ച് നിങ്ങളുടെ സ്വന്തം മോഡൽ സൃഷ്ടിക്കാൻ ശ്രമിക്കുക.
|
|
|
|
## അസൈൻമെന്റ്
|
|
|
|
[Azure ML SDK ഉപയോഗിച്ച് ഡാറ്റാ സയൻസ് പ്രോജക്ട്](assignment.md)
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**അസൂയാ**:
|
|
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. നാം കൃത്യതയ്ക്ക് ശ്രമിച്ചിട്ടുണ്ടെങ്കിലും, സ്വയം പ്രവർത്തിക്കുന്ന വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ തെറ്റുകൾ ഉണ്ടാകാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക. അതിന്റെ മാതൃഭാഷയിലുള്ള യഥാർത്ഥ രേഖയാണ് പ്രാമാണികമായ ഉറവിടം എന്ന് പരിഗണിക്കേണ്ടതാണ്. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനം ഉപയോഗിക്കുന്നതിൽ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്കോ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |