32 KiB
क्लाउडमा डेटा विज्ञान: "Azure ML SDK" बाट
![]() |
|---|
| क्लाउडमा डेटा विज्ञान: Azure ML SDK - Sketchnote by @nitya |
सामग्री तालिका:
- क्लाउडमा डेटा विज्ञान: "Azure ML SDK" बाट
पूर्व-व्याख्यान प्रश्नोत्तरी
१. परिचय
१.१ Azure ML SDK के हो?
डेटा वैज्ञानिक र एआई विकासकर्ताहरूले Azure Machine Learning सेवा प्रयोग गरेर मेसिन लर्निङ वर्कफ्लो निर्माण र सञ्चालन गर्न Azure Machine Learning SDK प्रयोग गर्छन्। तपाईंले यो सेवा कुनै पनि Python वातावरणमा, जस्तै Jupyter Notebooks, Visual Studio Code, वा तपाईंको मनपर्ने Python IDE मा प्रयोग गर्न सक्नुहुन्छ।
SDK का मुख्य क्षेत्रहरू:
- मेसिन लर्निङ प्रयोगहरूमा प्रयोग गरिएका डाटासेटहरूको जीवनचक्र अन्वेषण, तयारी र व्यवस्थापन गर्नुहोस्।
- मेसिन लर्निङ प्रयोगहरूको अनुगमन, लगिङ, र व्यवस्थापनका लागि क्लाउड स्रोतहरू व्यवस्थापन गर्नुहोस्।
- मोडेलहरू स्थानीय रूपमा वा GPU-प्रदत्त मोडेल प्रशिक्षण सहित क्लाउड स्रोतहरू प्रयोग गरेर प्रशिक्षण गर्नुहोस्।
- स्वचालित मेसिन लर्निङ प्रयोग गर्नुहोस्, जसले कन्फिगरेसन प्यारामिटरहरू र प्रशिक्षण डाटा स्वीकार्छ। यसले भविष्यवाणीहरू चलाउनका लागि उत्तम मोडेल फेला पार्न एल्गोरिदम र हाइपरप्यारामिटर सेटिङहरू दोहोर्याउँछ।
- तपाईंको प्रशिक्षित मोडेलहरूलाई RESTful सेवाहरूमा रूपान्तरण गर्न वेब सेवाहरू परिनियोजन गर्नुहोस्, जसलाई कुनै पनि अनुप्रयोगमा प्रयोग गर्न सकिन्छ।
Azure Machine Learning SDK को बारेमा थप जान्नुहोस्
अघिल्लो पाठ मा, हामीले कसरी Low code/No code तरिकाले मोडेल प्रशिक्षण, परिनियोजन र उपभोग गर्ने देख्यौं। हामीले हृदय विफलता डाटासेट प्रयोग गरेर हृदय विफलता भविष्यवाणी मोडेल निर्माण गर्यौं। यस पाठमा, हामी ठ्याक्कै त्यही कुरा गर्नेछौं तर Azure Machine Learning SDK प्रयोग गरेर।
१.२ हृदय विफलता भविष्यवाणी परियोजना र डाटासेट परिचय
यहाँ हृदय विफलता भविष्यवाणी परियोजना र डाटासेट परिचय हेर्नुहोस्।
२. Azure ML SDK प्रयोग गरेर मोडेल प्रशिक्षण
२.१ Azure ML कार्यक्षेत्र सिर्जना गर्नुहोस्
सरलताका लागि, हामी जुपिटर नोटबुकमा काम गर्नेछौं। यसको मतलब तपाईंले पहिले नै कार्यक्षेत्र र कम्प्युट इन्स्ट्यान्स बनाइसक्नुभएको छ। यदि तपाईंले पहिले नै कार्यक्षेत्र बनाइसक्नुभएको छ भने, तपाईं सिधै खण्ड २.३ नोटबुक सिर्जना गर्न जान सक्नुहुन्छ।
यदि छैन भने, कृपया अघिल्लो पाठ को खण्ड २.१ Azure ML कार्यक्षेत्र सिर्जना गर्नुहोस् मा दिइएका निर्देशनहरू पालना गर्नुहोस्।
२.२ कम्प्युट इन्स्ट्यान्स सिर्जना गर्नुहोस्
हामीले पहिले बनाएको Azure ML कार्यक्षेत्र मा जानुहोस्, कम्प्युट मेनुमा जानुहोस्, र तपाईंले उपलब्ध विभिन्न कम्प्युट स्रोतहरू देख्नुहुनेछ।
जुपिटर नोटबुकको लागि कम्प्युट इन्स्ट्यान्स सिर्जना गरौं।
-
- New बटनमा क्लिक गर्नुहोस्।
- तपाईंको कम्प्युट इन्स्ट्यान्सलाई नाम दिनुहोस्।
- तपाईंको विकल्पहरू चयन गर्नुहोस्: CPU वा GPU, VM आकार र कोर संख्या।
- Create बटनमा क्लिक गर्नुहोस्।
बधाई छ, तपाईंले कम्प्युट इन्स्ट्यान्स सिर्जना गर्नुभयो! हामी यो कम्प्युट इन्स्ट्यान्सलाई नोटबुकहरू सिर्जना गर्ने खण्ड मा प्रयोग गर्नेछौं।
२.३ डाटासेट लोड गर्दै
यदि तपाईंले अझै डाटासेट अपलोड गर्नुभएको छैन भने, अघिल्लो पाठ को खण्ड २.३ डाटासेट लोड गर्दै हेर्नुहोस्।
२.४ नोटबुकहरू सिर्जना गर्दै
NOTE: अर्को चरणका लागि तपाईं नयाँ नोटबुक खालि बाट सिर्जना गर्न सक्नुहुन्छ, वा तपाईंले हामीले बनाएको नोटबुक Azure ML स्टुडियोमा अपलोड गर्न सक्नुहुन्छ। अपलोड गर्न, "Notebook" मेनुमा क्लिक गर्नुहोस् र नोटबुक अपलोड गर्नुहोस्।
नोटबुकहरू डेटा विज्ञान प्रक्रियाको एकदम महत्त्वपूर्ण हिस्सा हुन्। तिनीहरूलाई अन्वेषणात्मक डेटा विश्लेषण (EDA) गर्न, कम्प्युटर क्लस्टरलाई मोडेल प्रशिक्षण गर्न बोलाउन, वा अन्त बिन्दु परिनियोजन गर्न प्रयोग गर्न सकिन्छ।
नोटबुक सिर्जना गर्न, हामीलाई जुपिटर नोटबुक इन्स्ट्यान्स चलाउने कम्प्युट नोड चाहिन्छ। Azure ML कार्यक्षेत्र मा फर्कनुहोस् र कम्प्युट इन्स्ट्यान्सहरूमा क्लिक गर्नुहोस्। कम्प्युट इन्स्ट्यान्सहरूको सूचीमा तपाईंले हामीले पहिले सिर्जना गरेको कम्प्युट इन्स्ट्यान्स देख्नुहुनेछ।
- Applications खण्डमा, Jupyter विकल्पमा क्लिक गर्नुहोस्।
- "Yes, I understand" बक्समा टिक गर्नुहोस् र Continue बटनमा क्लिक गर्नुहोस्।

- यसले तपाईंको जुपिटर नोटबुक इन्स्ट्यान्स भएको नयाँ ब्राउजर ट्याब खोल्नेछ। नयाँ नोटबुक सिर्जना गर्न "New" बटनमा क्लिक गर्नुहोस्।
अब हामीसँग नोटबुक छ, हामी Azure ML SDK प्रयोग गरेर मोडेल प्रशिक्षण सुरु गर्न सक्छौं।
२.५ मोडेल प्रशिक्षण
सबैभन्दा पहिले, यदि तपाईंलाई कहिल्यै शंका लाग्छ भने, Azure ML SDK डकुमेन्टेसन हेर्नुहोस्। यसमा हामीले यस पाठमा हेर्ने मोड्युलहरू बुझ्न आवश्यक पर्ने सबै जानकारी समावेश छ।
२.५.१ कार्यक्षेत्र, प्रयोग, कम्प्युट क्लस्टर र डाटासेट सेटअप गर्नुहोस्
तपाईंले निम्न कोड प्रयोग गरेर कन्फिगरेसन फाइलबाट workspace लोड गर्न आवश्यक छ:
from azureml.core import Workspace
ws = Workspace.from_config()
यसले Workspace प्रकारको वस्तु फिर्ता गर्छ, जसले कार्यक्षेत्रलाई प्रतिनिधित्व गर्छ। त्यसपछि तपाईंले निम्न कोड प्रयोग गरेर experiment सिर्जना गर्न आवश्यक छ:
from azureml.core import Experiment
experiment_name = 'aml-experiment'
experiment = Experiment(ws, experiment_name)
कार्यक्षेत्रबाट प्रयोग प्राप्त गर्न वा सिर्जना गर्न, तपाईंले प्रयोगको नाम अनुरोध गर्नुहुन्छ। प्रयोगको नाम ३-३६ वर्णको हुनुपर्छ, अक्षर वा नम्बरबाट सुरु हुनुपर्छ, र केवल अक्षर, नम्बर, अन्डरस्कोर, र ड्यासहरू समावेश गर्न सक्छ। यदि कार्यक्षेत्रमा प्रयोग फेला परेन भने, नयाँ प्रयोग सिर्जना गरिन्छ।
अब तपाईंले निम्न कोड प्रयोग गरेर प्रशिक्षणका लागि कम्प्युट क्लस्टर सिर्जना गर्न आवश्यक छ। ध्यान दिनुहोस्, यो चरण पूरा गर्न केही मिनेट लाग्न सक्छ।
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]
तपाईंले कार्यक्षेत्रबाट डाटासेट नाम प्रयोग गरेर डाटासेट प्राप्त गर्न सक्नुहुन्छ:
dataset = ws.datasets['heart-failure-records']
df = dataset.to_pandas_dataframe()
df.describe()
२.५.२ AutoML कन्फिगरेसन र प्रशिक्षण
AutoML कन्फिगरेसन सेट गर्न, AutoMLConfig कक्षा प्रयोग गर्नुहोस्।
डकुमेन्टेसनमा वर्णन गरिएझैं, तपाईंले खेल्न सक्ने धेरै प्यारामिटरहरू छन्। यस परियोजनाका लागि, हामी निम्न प्यारामिटरहरू प्रयोग गर्नेछौं:
experiment_timeout_minutes: प्रयोगलाई स्वचालित रूपमा रोक्न र परिणामहरू उपलब्ध गराउन अनुमति दिइएको अधिकतम समय (मिनेटमा)।max_concurrent_iterations: प्रयोगका लागि अनुमति दिइएको अधिकतम समवर्ती प्रशिक्षण पुनरावृत्तिहरू।primary_metric: प्रयोगको स्थिति निर्धारण गर्न प्रयोग गरिएको प्राथमिक मेट्रिक।compute_target: स्वचालित मेसिन लर्निङ प्रयोग चलाउन प्रयोग गरिएको Azure Machine Learning कम्प्युट लक्ष्य।task: चलाउनुपर्ने कार्यको प्रकार। मानहरू 'classification', 'regression', वा 'forecasting' हुन सक्छ।training_data: प्रयोग भित्र प्रयोग गर्नुपर्ने प्रशिक्षण डाटा। यसमा प्रशिक्षण सुविधाहरू र लेबल स्तम्भ (वैकल्पिक रूपमा नमूना तौल स्तम्भ) समावेश हुनुपर्छ।label_column_name: लेबल स्तम्भको नाम।path: Azure Machine Learning परियोजना फोल्डरको पूर्ण पथ।enable_early_stopping: छोटो अवधिमा स्कोर सुधार नभएमा प्रारम्भिक समाप्ति सक्षम गर्ने कि नगर्ने।featurization: स्वतः फिचराइजेसन चरण गर्नुपर्ने कि नगर्ने, वा अनुकूलित फिचराइजेसन प्रयोग गर्ने।debug_log: डिबग जानकारी लेख्न फाइल लग गर्नुहोस्।
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
)
अब तपाईंको कन्फिगरेसन सेट भयो, तपाईंले निम्न कोड प्रयोग गरेर मोडेल प्रशिक्षण गर्न सक्नुहुन्छ। यो चरण पूरा गर्न क्लस्टर आकारमा निर्भर गर्दै एक घण्टासम्म लाग्न सक्छ।
remote_run = experiment.submit(automl_config)
तपाईंले RunDetails विजेट चलाएर विभिन्न प्रयोगहरू देखाउन सक्नुहुन्छ।
from azureml.widgets import RunDetails
RunDetails(remote_run).show()
३. Azure ML SDK प्रयोग गरेर मोडेल परिनियोजन र अन्त बिन्दु उपभोग
३.१ उत्कृष्ट मोडेल सुरक्षित गर्नुहोस्
remote_run AutoMLRun प्रकारको वस्तु हो। यस वस्तुमा get_output() विधि हुन्छ, जसले उत्कृष्ट रन र सम्बन्धित फिट गरिएको मोडेल फिर्ता गर्छ।
best_run, fitted_model = remote_run.get_output()
तपाईंले उत्कृष्ट मोडेलका लागि प्रयोग गरिएका प्यारामिटरहरू केवल फिट गरिएको मोडेल प्रिन्ट गरेर देख्न सक्नुहुन्छ, र उत्कृष्ट मोडेलका गुणहरू get_properties() विधि प्रयोग गरेर हेर्न सक्नुहुन्छ।
best_run.get_properties()
अब register_model विधि प्रयोग गरेर मोडेल दर्ता गर्नुहोस्।
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)
३.२ मोडेल परिनियोजन
एकपटक उत्कृष्ट मोडेल सुरक्षित भएपछि, हामी यसलाई InferenceConfig कक्षा प्रयोग गरेर परिनियोजन गर्न सक्छौं। InferenceConfig परिनियोजनका लागि प्रयोग गरिएको अनुकूल वातावरणका कन्फिगरेसन सेटिङहरूको प्रतिनिधित्व गर्दछ। AciWebservice कक्षाले Azure Container Instances मा वेब सेवा अन्त बिन्दुका रूपमा परिनियोजित मेसिन लर्निङ मोडेलको प्रतिनिधित्व गर्दछ। परिनियोजित सेवा मोडेल, स्क्रिप्ट, र सम्बन्धित फाइलहरूबाट सिर्जना गरिन्छ। परिणामस्वरूप वेब सेवा लोड-ब्यालेन्स गरिएको, HTTP अन्त बिन्दु हो, जसमा REST API हुन्छ। तपाईंले यस API मा डाटा पठाउन र मोडेलले फिर्ता गरेको भविष्यवाणी प्राप्त गर्न सक्नुहुन्छ।
मोडेल deploy विधि प्रयोग गरेर परिनियोजित गरिन्छ।
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)
यो चरण पूरा गर्न केही मिनेट लाग्न सक्छ।
३.३ अन्त बिन्दु उपभोग
तपाईं आफ्नो अन्त बिन्दु उपभोग गर्न नमूना इनपुट सिर्जना गर्नुहोस्:
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))
र त्यसपछि तपाईंले यो इनपुट आफ्नो मोडेलमा भविष्यवाणीका लागि पठाउन सक्नुहुन्छ:
response = aci_service.run(input_data=test_sample)
response
यसले '{"result": [false]}' उत्पादन गर्नुपर्छ। यसको अर्थ हामीले अन्तिम बिन्दुमा पठाएको बिरामीको इनपुटले false भविष्यवाणी उत्पन्न गर्यो, जसको अर्थ यो व्यक्तिलाई हृदयघात हुने सम्भावना छैन।
बधाई छ! तपाईंले Azure ML मा प्रशिक्षित र तैनात गरिएको मोडेललाई Azure ML SDK प्रयोग गरेर उपभोग गर्न सक्नुभयो!
NOTE: परियोजना समाप्त भएपछि, सबै स्रोतहरू मेटाउन नबिर्सनुहोस्।
🚀 चुनौती
SDK मार्फत तपाईंले धेरै अन्य कार्यहरू गर्न सक्नुहुन्छ, तर दुर्भाग्यवश, हामी यस पाठमा तिनीहरू सबै हेर्न सक्दैनौं। तर राम्रो समाचार यो छ कि SDK दस्तावेजहरूलाई छिटो हेर्ने तरिका सिक्नाले तपाईंलाई धेरै टाढा लैजान सक्छ। Azure ML SDK दस्तावेज हेर्नुहोस् र Pipeline वर्ग खोज्नुहोस् जसले तपाईंलाई पाइपलाइनहरू सिर्जना गर्न अनुमति दिन्छ। पाइपलाइन भनेको चरणहरूको संग्रह हो जसलाई कार्यप्रवाहको रूपमा कार्यान्वयन गर्न सकिन्छ।
सुझाव: SDK दस्तावेज मा जानुहोस् र खोज पट्टीमा "Pipeline" जस्ता कुञ्जी शब्दहरू टाइप गर्नुहोस्। तपाईंले खोज परिणामहरूमा azureml.pipeline.core.Pipeline वर्ग पाउनुपर्छ।
पाठपश्चात क्विज
समीक्षा र आत्म-अध्ययन
यस पाठमा, तपाईंले Azure ML SDK प्रयोग गरेर क्लाउडमा हृदयघातको जोखिमको भविष्यवाणी गर्न मोडेललाई प्रशिक्षित, तैनात र उपभोग गर्ने तरिका सिक्नुभयो। Azure ML SDK सम्बन्धी थप जानकारीको लागि यो दस्तावेज हेर्नुहोस्। Azure ML SDK प्रयोग गरेर आफ्नो मोडेल सिर्जना गर्ने प्रयास गर्नुहोस्।
असाइनमेन्ट
Azure ML SDK प्रयोग गरेर डेटा विज्ञान परियोजना
अस्वीकरण:
यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।



