|
|
2 weeks ago | |
|---|---|---|
| .. | ||
| solution | 1 month ago | |
| README.md | 2 weeks ago | |
| assignment.md | 1 month ago | |
| notebook.ipynb | 1 month ago | |
README.md
క్లౌడ్లో డేటా సైన్స్: "Azure ML SDK" విధానం
![]() |
|---|
| క్లౌడ్లో డేటా సైన్స్: Azure ML SDK - Sketchnote by @nitya |
అంశాల పట్టిక:
- క్లౌడ్లో డేటా సైన్స్: "Azure ML SDK" విధానం
ప్రీ-లెక్చర్ క్విజ్
1. పరిచయం
1.1 Azure ML SDK అంటే ఏమిటి?
డేటా సైంటిస్టులు మరియు AI డెవలపర్లు Azure Machine Learning SDK ఉపయోగించి Azure Machine Learning సర్వీస్తో మిషన్ లెర్నింగ్ వర్క్ఫ్లోలను నిర్మించి నడుపుతారు. మీరు Jupyter Notebooks, Visual Studio Code లేదా మీ ఇష్టమైన Python IDE సహా ఏ Python వాతావరణంలోనైనా ఈ సర్వీస్తో ఇంటరాక్ట్ చేయవచ్చు.
SDK యొక్క ముఖ్యమైన ప్రాంతాలు:
- మిషన్ లెర్నింగ్ ప్రయోగాలలో ఉపయోగించే మీ డేటాసెట్ల జీవిత చక్రాన్ని అన్వేషించండి, సిద్ధం చేయండి మరియు నిర్వహించండి.
- మీ మిషన్ లెర్నింగ్ ప్రయోగాల కోసం క్లౌడ్ వనరులను మానిటరింగ్, లాగింగ్ మరియు నిర్వహణ కోసం నిర్వహించండి.
- మోడల్స్ను స్థానికంగా లేదా GPU-అక్సిలరేటెడ్ మోడల్ శిక్షణ సహా క్లౌడ్ వనరులను ఉపయోగించి శిక్షణ ఇవ్వండి.
- ఆటోమేటెడ్ మిషన్ లెర్నింగ్ ఉపయోగించండి, ఇది కాన్ఫిగరేషన్ పారామీటర్లు మరియు శిక్షణ డేటాను స్వీకరిస్తుంది. ఇది ఆటోమేటిగ్గా అల్గోరిథమ్స్ మరియు హైపర్పారామీటర్ సెట్టింగ్స్ ద్వారా తిరుగుతూ ఉత్తమ మోడల్ను కనుగొంటుంది.
- మీ శిక్షణ పొందిన మోడల్స్ను RESTful సర్వీసులుగా మార్చడానికి వెబ్ సర్వీసులను డిప్లాయ్ చేయండి, ఇవి ఏ యాప్లోనైనా వినియోగించవచ్చు.
Azure Machine Learning SDK గురించి మరింత తెలుసుకోండి
మునుపటి పాఠంలో, మేము ఎలా మోడల్ను శిక్షణ, డిప్లాయ్ మరియు వినియోగించాలో చూశాము, అది Low code/No code విధానంలో జరిగింది. మేము హార్ట్ ఫెయిల్యూర్ డేటాసెట్ ఉపయోగించి హార్ట్ ఫెయిల్యూర్ ప్రిడిక్షన్ మోడల్ను సృష్టించాము. ఈ పాఠంలో, అదే పని Azure Machine Learning SDK ఉపయోగించి చేయబోతున్నాము.
1.2 హార్ట్ ఫెయిల్యూర్ ప్రిడిక్షన్ ప్రాజెక్ట్ మరియు డేటాసెట్ పరిచయం
హార్ట్ ఫెయిల్యూర్ ప్రిడిక్షన్ ప్రాజెక్ట్ మరియు డేటాసెట్ పరిచయానికి ఇక్కడ చూడండి.
2. Azure ML SDK తో మోడల్ శిక్షణ
2.1 Azure ML వర్క్స్పేస్ సృష్టించండి
సులభత కోసం, మేము జూపిటర్ నోట్బుక్లో పని చేయబోతున్నాము. దీని అర్థం మీరు ఇప్పటికే వర్క్స్పేస్ మరియు కంప్యూట్ ఇన్స్టాన్స్ కలిగి ఉండాలి. మీరు ఇప్పటికే వర్క్స్పేస్ కలిగి ఉంటే, నేరుగా 2.3 నోట్బుక్ సృష్టింపు విభాగానికి వెళ్లవచ్చు.
లేకపోతే, దయచేసి మునుపటి పాఠంలో 2.1 Azure ML వర్క్స్పేస్ సృష్టించండి విభాగంలో సూచనలను అనుసరించి వర్క్స్పేస్ సృష్టించండి.
2.2 కంప్యూట్ ఇన్స్టాన్స్ సృష్టించండి
ముందుగా సృష్టించిన Azure ML వర్క్స్పేస్లో, కంప్యూట్ మెనూకి వెళ్లండి, అక్కడ మీరు అందుబాటులో ఉన్న వివిధ కంప్యూట్ వనరులను చూడవచ్చు
జూపిటర్ నోట్బుక్ ప్రావిజన్ చేయడానికి కంప్యూట్ ఇన్స్టాన్స్ సృష్టిద్దాం.
-
- New బటన్పై క్లిక్ చేయండి.
- మీ కంప్యూట్ ఇన్స్టాన్స్కు పేరు ఇవ్వండి.
- మీ ఎంపికలను ఎంచుకోండి: CPU లేదా GPU, VM పరిమాణం మరియు కోర్ సంఖ్య.
- Create బటన్పై క్లిక్ చేయండి.
అభినందనలు, మీరు కంప్యూట్ ఇన్స్టాన్స్ సృష్టించారు! ఈ కంప్యూట్ ఇన్స్టాన్స్ను నోట్బుక్స్ సృష్టించడం విభాగంలో నోట్బుక్ సృష్టించడానికి ఉపయోగిస్తాము.
2.3 డేటాసెట్ లోడ్ చేయడం
మీరు ఇంకా డేటాసెట్ను అప్లోడ్ చేయకపోతే, మునుపటి పాఠంలో 2.3 డేటాసెట్ లోడ్ చేయడం విభాగాన్ని చూడండి.
2.4 నోట్బుక్స్ సృష్టించడం
గమనిక: తదుపరి దశ కోసం మీరు కొత్త నోట్బుక్ను మొదలుపెట్టవచ్చు లేదా మీరు సృష్టించిన నోట్బుక్ ను Azure ML స్టూడియోలో అప్లోడ్ చేయవచ్చు. అప్లోడ్ చేయడానికి, "Notebook" మెనూకి క్లిక్ చేసి నోట్బుక్ను అప్లోడ్ చేయండి.
నోట్బుక్స్ డేటా సైన్స్ ప్రక్రియలో చాలా ముఖ్యమైన భాగం. అవి ఎక్స్ప్లోరేటరీ డేటా అనాలిసిస్ (EDA) నిర్వహించడానికి, కంప్యూటర్ క్లస్టర్ను పిలిచి మోడల్ శిక్షణకు, ఇన్ఫరెన్స్ క్లస్టర్ను పిలిచి ఎండ్పాయింట్ డిప్లాయ్మెంట్కు ఉపయోగించవచ్చు.
నోట్బుక్ సృష్టించడానికి, జూపిటర్ నోట్బుక్ ఇన్స్టాన్స్ను సర్వ్ చేస్తున్న కంప్యూట్ నోడ్ అవసరం. తిరిగి Azure ML వర్క్స్పేస్కి వెళ్లి Compute instances పై క్లిక్ చేయండి. కంప్యూట్ ఇన్స్టాన్స్ల జాబితాలో మీరు ముందుగా సృష్టించిన కంప్యూట్ ఇన్స్టాన్స్ ను చూడగలుగుతారు.
- Applications విభాగంలో, Jupyter ఎంపికపై క్లిక్ చేయండి.
- "Yes, I understand" బాక్స్ను టిక్ చేసి Continue బటన్పై క్లిక్ చేయండి.

- ఇది మీ జూపిటర్ నోట్బుక్ ఇన్స్టాన్స్తో కొత్త బ్రౌజర్ ట్యాబ్ను తెరుస్తుంది. నూతన నోట్బుక్ సృష్టించడానికి "New" బటన్పై క్లిక్ చేయండి.
ఇప్పుడు మనకు నోట్బుక్ ఉన్నందున, Azure ML SDK తో మోడల్ శిక్షణ ప్రారంభించవచ్చు.
2.5 మోడల్ శిక్షణ
మొదటగా, మీకు ఎప్పుడైనా సందేహం ఉంటే, Azure ML SDK డాక్యుమెంటేషన్ ను చూడండి. ఇందులో ఈ పాఠంలో మనం చూడబోయే మాడ్యూల్స్ గురించి అవసరమైన అన్ని సమాచారం ఉంటుంది.
2.5.1 వర్క్స్పేస్, ఎక్స్పెరిమెంట్, కంప్యూట్ క్లస్టర్ మరియు డేటాసెట్ సెటప్
కాన్ఫిగరేషన్ ఫైల్ నుండి 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)
వర్క్స్పేస్ నుండి ఎక్స్పెరిమెంట్ పొందడానికి లేదా సృష్టించడానికి, మీరు ఎక్స్పెరిమెంట్ పేరుతో అభ్యర్థించాలి. ఎక్స్పెరిమెంట్ పేరు 3-36 అక్షరాలు ఉండాలి, అక్షరం లేదా సంఖ్యతో ప్రారంభమవాలి, మరియు అక్షరాలు, సంఖ్యలు, అండర్స్కోర్లు మరియు డాష్లను మాత్రమే కలిగి ఉండాలి. వర్క్స్పేస్లో ఎక్స్పెరిమెంట్ కనుగొనబడకపోతే, కొత్త ఎక్స్పెరిమెంట్ సృష్టించబడుతుంది.
ఇప్పుడు శిక్షణ కోసం క్రింది కోడ్ ఉపయోగించి కంప్యూట్ క్లస్టర్ సృష్టించాలి. ఈ దశ కొంత సమయం తీసుకోవచ్చు.
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()
2.5.2 AutoML కాన్ఫిగరేషన్ మరియు శిక్షణ
AutoML కాన్ఫిగరేషన్ సెటప్ చేయడానికి AutoMLConfig క్లాస్ ఉపయోగించండి.
డాక్యుమెంటేషన్ ప్రకారం, మీరు అనేక పారామీటర్లతో ఆడుకోవచ్చు. ఈ ప్రాజెక్ట్ కోసం, మేము క్రింది పారామీటర్లను ఉపయోగిస్తాము:
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: డీబగ్ సమాచారాన్ని రాయడానికి లాగ్ ఫైల్.
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()
3. Azure ML SDK తో మోడల్ డిప్లాయ్మెంట్ మరియు ఎండ్పాయింట్ వినియోగం
3.1 ఉత్తమ మోడల్ సేవ్ చేయడం
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)
3.2 మోడల్ డిప్లాయ్మెంట్
ఉత్తమ మోడల్ సేవ్ అయిన తర్వాత, మేము దాన్ని 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)
ఈ దశ కొంత నిమిషాలు పడుతుంది.
3.3 ఎండ్పాయింట్ వినియోగం
మీరు నమూనా ఇన్పుట్ సృష్టించడం ద్వారా మీ ఎండ్పాయింట్ను వినియోగించవచ్చు:
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 SDKతో Azure MLలో డిప్లాయ్ చేసి ట్రెయిన్ చేసిన మోడల్ను విజయవంతంగా వినియోగించారు!
గమనిక: ప్రాజెక్ట్ పూర్తయిన తర్వాత, అన్ని వనరులను తొలగించడం మర్చిపోకండి.
🚀 సవాలు
SDK ద్వారా మీరు చేయగల మరెన్నో విషయాలు ఉన్నాయి, కానీ ఈ పాఠంలో వాటన్నింటినీ చూడలేము. కానీ మంచి వార్త ఏమిటంటే, SDK డాక్యుమెంటేషన్ను ఎలా సులభంగా చదవాలో నేర్చుకోవడం మీకు చాలా దూరం ప్రయాణం చేయించగలదు. Azure ML SDK డాక్యుమెంటేషన్ను పరిశీలించి, మీరు పైప్లైన్లు సృష్టించడానికి అనుమతించే Pipeline క్లాస్ను కనుగొనండి. ఒక Pipeline అనేది ఒక వర్క్ఫ్లోగా అమలు చేయగల స్టెప్స్ సేకరణ.
సూచన: SDK డాక్యుమెంటేషన్ కు వెళ్లి సెర్చ్ బార్లో "Pipeline" వంటి కీవర్డ్స్ టైప్ చేయండి. సెర్చ్ ఫలితాల్లో azureml.pipeline.core.Pipeline క్లాస్ కనిపించాలి.
పోస్ట్-లెక్చర్ క్విజ్
సమీక్ష & స్వీయ అధ్యయనం
ఈ పాఠంలో, మీరు Azure ML SDKతో క్లౌడ్లో హార్ట్ ఫెయిల్యూర్ రిస్క్ను అంచనా వేయడానికి మోడల్ను ట్రెయిన్, డిప్లాయ్ మరియు వినియోగించడం నేర్చుకున్నారు. Azure ML SDK గురించి మరింత సమాచారం కోసం ఈ డాక్యుమెంటేషన్ చూడండి. Azure ML SDKతో మీ స్వంత మోడల్ను సృష్టించడానికి ప్రయత్నించండి.
అసైన్మెంట్
Azure ML SDK ఉపయోగించి డేటా సైన్స్ ప్రాజెక్ట్
అస్పష్టత:
ఈ పత్రాన్ని AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారితీసే అర్థాలు కోసం మేము బాధ్యత వహించము.



