Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ امیج سیگمنٹیشن چلائیں۔ عمودی تلاش۔ عی

امیزون سیج میکر جمپ اسٹارٹ کے ساتھ امیج سیگمنٹیشن چلائیں۔

دسمبر 2020 میں، AWS نے اعلان کیا۔ کی عام دستیابی ایمیزون سیج میکر جمپ اسٹارٹکی صلاحیت ایمیزون سیج میکر جو آپ کو مشین لرننگ (ML) کے ساتھ جلدی اور آسانی سے شروع کرنے میں مدد کرتا ہے۔ جمپ سٹارٹ مقبول ML ٹاسک میں پہلے سے تربیت یافتہ ماڈلز کی وسیع اقسام کی ایک کلک فائن ٹیوننگ اور تعیناتی فراہم کرتا ہے، ساتھ ہی ساتھ اختتام سے آخر تک حل کا انتخاب جو عام کاروباری مسائل کو حل کرتا ہے۔ یہ خصوصیات ML عمل کے ہر مرحلے سے بھاری اٹھانے کو ہٹا دیتی ہیں، جس سے اعلیٰ معیار کے ماڈلز تیار کرنا آسان ہو جاتا ہے اور تعیناتی میں وقت کم ہوتا ہے۔

یہ پوسٹ ایم ایل کے مخصوص کاموں کے لیے جمپ اسٹارٹ استعمال کرنے کے سلسلے میں تیسری پوسٹ ہے۔ میں پہلی پوسٹ، ہم نے دکھایا کہ آپ جمپ اسٹارٹ پر تصویری درجہ بندی کے استعمال کے کیسز کو کیسے چلا سکتے ہیں۔ میں دوسری پوزیشن، ہم نے دکھایا کہ آپ جمپ اسٹارٹ پر ٹیکسٹ کی درجہ بندی کے استعمال کے کیس کیسے چلا سکتے ہیں۔ اس پوسٹ میں، ہم MXNet سے تربیت یافتہ ماڈلز کا استعمال کرتے ہوئے، تصویری سیگمینٹیشن ماڈل کو ٹھیک کرنے اور ترتیب دینے کے بارے میں قدم بہ قدم واک تھرو فراہم کرتے ہیں۔ ہم ایک ہی نتیجہ حاصل کرنے کے دو طریقے تلاش کرتے ہیں: جمپ اسٹارٹ کے گرافیکل انٹرفیس کے ذریعے ایمیزون سیج میکر اسٹوڈیو، اور پروگرام کے ذریعے جمپ اسٹارٹ APIs.

اگر آپ جمپ اسٹارٹ API کوڈ میں براہ راست کودنا چاہتے ہیں جس کی ہم اس پوسٹ میں وضاحت کرتے ہیں، تو آپ درج ذیل نمونہ Jupyter نوٹ بک کا حوالہ دے سکتے ہیں:

جمپ اسٹارٹ کا جائزہ

جمپ اسٹارٹ آپ کو کوڈ کی ایک لائن لکھے بغیر متعدد کاموں کے لیے ایم ایل ماڈلز کے ساتھ شروع کرنے میں مدد کرتا ہے۔ لکھنے کے وقت، جمپ اسٹارٹ آپ کو درج ذیل کام کرنے کے قابل بناتا ہے:

  • عام ایم ایل کاموں کے لیے پہلے سے تربیت یافتہ ماڈلز کا تعین کریں۔ - جمپ سٹارٹ آپ کو بڑے، عوامی طور پر دستیاب ڈیٹا سیٹس پر پہلے سے تربیت یافتہ ماڈلز کی آسانی سے تعیناتی فراہم کرکے بغیر کسی ترقیاتی کوشش کے عام ML کاموں کو حل کرنے کے قابل بناتا ہے۔ ایم ایل ریسرچ کمیونٹی نے حال ہی میں تیار کردہ زیادہ تر ماڈلز کو عوامی طور پر استعمال کے لیے دستیاب کرنے کے لیے بہت زیادہ کوششیں کی ہیں۔ جمپ سٹارٹ 300 سے زیادہ ماڈلز کے مجموعے کی میزبانی کرتا ہے، جس میں 15 مقبول ترین ML کاموں جیسے آبجیکٹ کا پتہ لگانا، ٹیکسٹ کی درجہ بندی، اور ٹیکسٹ جنریشن شامل ہے، جس سے ابتدائی افراد کے لیے انہیں استعمال کرنا آسان ہو جاتا ہے۔ یہ ماڈل مشہور ماڈل ہب جیسے TensorFlow، PyTorch، Hugging Face، اور MXNet سے تیار کیے گئے ہیں۔
  • پہلے سے تربیت یافتہ ماڈلز کو ٹھیک بنائیں - جمپ سٹارٹ آپ کو پہلے سے تربیت یافتہ ماڈلز کو ٹھیک کرنے کی اجازت دیتا ہے اور آپ کو اپنا تربیتی الگورتھم لکھنے کی ضرورت نہیں ہے۔ ایم ایل میں، ایک ڈومین میں سیکھے گئے علم کو دوسرے ڈومین میں منتقل کرنے کی صلاحیت کو کہا جاتا ہے۔ منتقلی سیکھنے. آپ اپنے چھوٹے ڈیٹا سیٹس پر درست ماڈلز تیار کرنے کے لیے ٹرانسفر لرننگ کا استعمال کر سکتے ہیں، جس میں اصل ماڈل کی تربیت میں شامل افراد کی نسبت بہت کم تربیتی لاگت آتی ہے۔ JumpStart میں LightGBM، CatBoost، XGBoost، اور Scikit-learn پر مبنی مشہور ٹریننگ الگورتھم بھی شامل ہیں، جنہیں آپ ٹیبلر ریگریشن اور درجہ بندی کے لیے شروع سے تربیت دے سکتے ہیں۔
  • پہلے سے تیار کردہ حل استعمال کریں۔ - جمپ سٹارٹ عام ML استعمال کے معاملات کے لیے 17 حل فراہم کرتا ہے، جیسے ڈیمانڈ کی پیشن گوئی اور صنعتی اور مالیاتی ایپلی کیشنز، جنہیں آپ صرف چند کلکس کے ساتھ تعینات کر سکتے ہیں۔ سولیوشنز اینڈ ٹو اینڈ ایم ایل ایپلی کیشنز ہیں جو مختلف AWS سروسز کو ایک ساتھ جوڑ کر کسی خاص کاروباری استعمال کے معاملے کو حل کرتی ہیں۔ وہ استعمال کرتے ہیں AWS کلاؤڈ فارمیشن فوری تعیناتی کے لیے ٹیمپلیٹس اور ریفرنس آرکیٹیکچرز، جس کا مطلب ہے کہ وہ مکمل طور پر حسب ضرورت ہیں۔
  • SageMaker الگورتھم کے لیے نوٹ بک کی مثالوں سے رجوع کریں۔ - SageMaker ڈیٹا سائنسدانوں اور ML پریکٹیشنرز کو ML ماڈلز کو تیزی سے تربیت اور تعینات کرنے کے ساتھ شروع کرنے میں مدد کرنے کے لیے بلٹ ان الگورتھم کا ایک مجموعہ فراہم کرتا ہے۔ جمپ سٹارٹ نمونہ نوٹ بک فراہم کرتا ہے جسے آپ ان الگورتھم کو تیزی سے استعمال کرنے کے لیے استعمال کر سکتے ہیں۔
  • تربیتی ویڈیوز اور بلاگز کا جائزہ لیں۔ - جمپ سٹارٹ متعدد بلاگ پوسٹس اور ویڈیوز بھی فراہم کرتا ہے جو آپ کو سیج میکر کے اندر مختلف فنکشنلٹیز کو استعمال کرنے کا طریقہ سکھاتے ہیں۔

جمپ سٹارٹ اپنی مرضی کے مطابق VPC ترتیبات کو قبول کرتا ہے اور AWS کلیدی انتظام کی خدمت (AWS KMS) انکرپشن کیز، تاکہ آپ اپنے انٹرپرائز ماحول میں دستیاب ماڈلز اور حل محفوظ طریقے سے استعمال کر سکیں۔ آپ اپنی حفاظتی ترتیبات کو اسٹوڈیو کے اندر یا SageMaker Python SDK کے ذریعے جمپ اسٹارٹ پر منتقل کر سکتے ہیں۔

سنمک تقسیم

سیمنٹک سیگمنٹیشن ان پٹ امیج میں ظاہر ہونے والی اشیاء کی ہر کلاس کو بیان کرتا ہے۔ یہ کلاسوں کے پہلے سے طے شدہ سیٹ سے کلاس لیبل کے ساتھ ان پٹ امیج کے ہر پکسل کو ٹیگ (درجہ بندی) کرتا ہے۔ ایک ہی کلاس کی متعدد اشیاء کو ایک ہی ماسک پر میپ کیا گیا ہے۔

فائن ٹیوننگ کے لیے دستیاب ماڈل بیس نیٹ ورک کے اوپری حصے میں ایک مکمل کنوولیشنل نیٹ ورک (FCN) "ہیڈ" بناتا ہے۔ فائن ٹیوننگ مرحلہ FCNHead کو ٹھیک ٹیون کرتا ہے جبکہ باقی ماڈل کے پیرامیٹرز کو منجمد رکھتا ہے، اور فائن ٹیونڈ ماڈل کو واپس کرتا ہے۔ مقصد FCN کو تربیت دینے کے لیے فی پکسل سافٹ میکس کراس اینٹروپی نقصان کو کم کرنا ہے۔ ٹھیک ٹیوننگ کے ذریعے واپس آنے والے ماڈل کو مزید اندازہ لگانے کے لیے تعینات کیا جا سکتا ہے۔

ان پٹ ڈائرکٹری کو درج ذیل کوڈ کی طرح نظر آنا چاہیے اگر ٹریننگ ڈیٹا میں دو تصاویر ہوں۔ png فائلوں کے نام کچھ بھی ہو سکتے ہیں۔

input_directory
    |--images
        |--abc.png
        |--def.png
    |--masks
        |--abc.png
        |--def.png
    class_label_to_prediction_index.json

ماسک فائلوں میں ہر پکسل کے لیے کلاس لیبل کی معلومات ہونی چاہیے۔

مثال کی تقسیم

مثال کی تقسیم ایک تصویر میں ظاہر ہونے والی دلچسپی کی ہر ایک الگ چیز کا پتہ لگاتی ہے اور اس کی وضاحت کرتی ہے۔ یہ ہر پکسل کو مثال کے لیبل کے ساتھ ٹیگ کرتا ہے۔ جبکہ سیمنٹک سیگمنٹیشن ایک ہی کلاس کی متعدد اشیاء کے پکسلز کو ایک ہی ٹیگ تفویض کرتا ہے، مثال کے طور پر سیگمنٹیشن مزید پکسلز کو ایک الگ ٹیگ کے ساتھ تصویر پر کسی شے کے ہر واقعہ کے مطابق لیبل کرتا ہے۔

فی الحال، جمپ سٹارٹ مثال کے سیگمنٹیشن کے لیے صرف انفرنس ماڈل پیش کرتا ہے اور فائن ٹیوننگ کی حمایت نہیں کرتا ہے۔

مندرجہ ذیل تصاویر سیمنٹک سیگمینٹیشن اور مثال کے سیگمنٹیشن میں قیاس کے درمیان فرق کو واضح کرتی ہیں۔ اصل تصویر میں دو لوگ ہیں۔ سیمنٹک سیگمنٹیشن تصویر میں متعدد لوگوں کو ایک ہستی کے طور پر پیش کرتا ہے: Person. تاہم، مثال کی تقسیم انفرادی لوگوں کی شناخت کرتی ہے۔ Person زمرہ.

حل جائزہ

درج ذیل حصے اسٹوڈیو UI اور JumpStart APIs کے ذریعے جمپ سٹارٹ کے ساتھ سیمینٹک سیگمنٹیشن کرنے کے لیے مرحلہ وار ڈیمو فراہم کرتے ہیں۔

ہم درج ذیل مراحل سے گزرتے ہیں:

  1. اسٹوڈیو UI کے ذریعے جمپ اسٹارٹ تک رسائی حاصل کریں:
    1. پہلے سے تربیت یافتہ ماڈل پر تخمینہ چلائیں۔
    2. پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں۔
  2. SageMaker Python SDK کے ساتھ JumpStart پروگرام کے مطابق استعمال کریں:
    1. پہلے سے تربیت یافتہ ماڈل پر تخمینہ چلائیں۔
    2. پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں۔

ہم جمپ اسٹارٹ کی اضافی جدید خصوصیات پر بھی بات کرتے ہیں۔

اسٹوڈیو UI کے ذریعے جمپ اسٹارٹ تک رسائی حاصل کریں۔

اس سیکشن میں، ہم اسٹوڈیو UI کے ذریعے جمپ سٹارٹ ماڈلز کو تربیت اور تعینات کرنے کا طریقہ دکھاتے ہیں۔

پہلے سے تربیت یافتہ ماڈل پر تخمینہ چلائیں۔

درج ذیل ویڈیو آپ کو دکھاتی ہے کہ جمپ سٹارٹ پر پہلے سے تربیت یافتہ سیمنٹک سیگمنٹیشن ماڈل کیسے تلاش کیا جائے اور اسے کیسے لگایا جائے۔ ماڈل پیج میں ماڈل کے بارے میں قیمتی معلومات، اسے استعمال کرنے کا طریقہ، متوقع ڈیٹا فارمیٹ، اور کچھ ٹھیک ٹیوننگ تفصیلات شامل ہیں۔ آپ JumpStart میں دستیاب پہلے سے تربیت یافتہ ماڈلز میں سے کسی کو بھی تعینات کر سکتے ہیں۔ اندازہ کے لیے، ہم ml.g4dn.xlarge مثال کی قسم چنتے ہیں۔ یہ GPU ایکسلریشن فراہم کرتا ہے جو کم قیاس میں تاخیر کے لیے درکار ہے، لیکن کم قیمت پر۔ سیج میکر ہوسٹنگ مثال کو ترتیب دینے کے بعد، منتخب کریں۔ تعینات. اس میں 5-10 منٹ لگ سکتے ہیں جب تک کہ آپ کا مستقل اختتامی نقطہ تیار نہ ہو اور چلتا ہو۔

چند منٹوں کے بعد، آپ کا اختتامی نقطہ کام کر رہا ہے اور تخمینہ کی درخواستوں کا جواب دینے کے لیے تیار ہے۔

اسی طرح، آپ جمپ سٹارٹ سرچ بار میں سیمنٹک سیگمنٹیشن کے بجائے مثال کے سیگمنٹیشن کی تلاش کے دوران پچھلے ویڈیو میں انہی مراحل پر عمل کرتے ہوئے پہلے سے تربیت یافتہ مثال کے سیگمنٹیشن ماڈل کو تعینات کر سکتے ہیں۔

پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں

درج ذیل ویڈیو میں دکھایا گیا ہے کہ جمپ سٹارٹ میں سیمنٹک سیگمنٹیشن ماڈل کو کیسے تلاش کیا جائے اور اسے ٹھیک بنایا جائے۔ ویڈیو میں، ہم استعمال کرتے ہوئے ماڈل کو ٹھیک بناتے ہیں۔ PennFudanPed ڈیٹاسیٹجمپ سٹارٹ میں بطور ڈیفالٹ فراہم کیا جاتا ہے، جسے آپ نیچے ڈاؤن لوڈ کر سکتے ہیں۔ اپاچی 2.0 لائسنس.

آپ کے اپنے ڈیٹاسیٹ پر فائن ٹیوننگ میں ڈیٹا کی درست فارمیٹنگ (جیسا کہ ماڈل پیج پر بیان کیا گیا ہے) کو اپ لوڈ کرنا شامل ہے۔ ایمیزون سادہ اسٹوریج سروس (Amazon S3)، اور ڈیٹا سورس کنفیگریشن میں اس کے مقام کی وضاحت کرنا۔ ہم وہی ہائپر پیرامیٹر قدریں استعمال کرتے ہیں جو بطور ڈیفالٹ سیٹ کی جاتی ہیں (ایپوچز کی تعداد، سیکھنے کی شرح، اور بیچ کا سائز)۔ ہم اپنے SageMaker ٹریننگ مثال کے طور پر GPU کی حمایت یافتہ ml.p3.2xlarge بھی استعمال کرتے ہیں۔

آپ براہ راست اسٹوڈیو کنسول پر چلنے والے اپنے تربیتی کام کی نگرانی کر سکتے ہیں، اور اس کے مکمل ہونے پر مطلع کیا جاتا ہے۔ ٹریننگ مکمل ہونے کے بعد، آپ اسی صفحہ سے فائن ٹیونڈ ماڈل کو تعینات کر سکتے ہیں جس میں تربیتی ملازمت کی تفصیلات موجود ہیں۔ تعیناتی کا ورک فلو پہلے سے تربیت یافتہ ماڈل کی تعیناتی جیسا ہی ہے۔

SageMaker SDK کے ساتھ JumpStart پروگرام کے مطابق استعمال کریں۔

پچھلے حصوں میں، ہم نے دکھایا کہ آپ جمپ سٹارٹ UI کو پہلے سے تربیت یافتہ ماڈل کی تعیناتی کے لیے کیسے استعمال کر سکتے ہیں اور چند کلکس کے معاملے میں اسے انٹرایکٹو طریقے سے ٹھیک کر سکتے ہیں۔ تاہم، آپ SageMaker SDK میں مربوط APIs کا استعمال کر کے JumpStart کے ماڈلز اور پروگرام کے لحاظ سے آسان فائن ٹیوننگ بھی استعمال کر سکتے ہیں۔ اب ہم اس کی ایک فوری مثال دیکھتے ہیں کہ آپ پچھلے عمل کو کیسے نقل کر سکتے ہیں۔ اس ڈیمو کے تمام مراحل ساتھ والی نوٹ بک میں دستیاب ہیں۔ جمپ اسٹارٹ کا تعارف - مثال کی تقسیم اور جمپ اسٹارٹ کا تعارف - سیمنٹک سیگمنٹیشن.

پہلے سے تربیت یافتہ ماڈل پر تخمینہ چلائیں۔

اس سیکشن میں، ہم جمپ سٹارٹ میں ایک مناسب پہلے سے تربیت یافتہ ماڈل کا انتخاب کرتے ہیں، اس ماڈل کو سیج میکر اینڈ پوائنٹ پر تعینات کرتے ہیں، اور تعیناتی اختتامی نقطہ پر تخمینہ چلاتے ہیں۔

سیج میکر ڈوکر کنٹینرز پر مبنی ایک پلیٹ فارم ہے۔ JumpStart دستیاب فریم ورک مخصوص استعمال کرتا ہے۔ سیج میکر ڈیپ لرننگ کنٹینرز (DLCs)۔ ہم کسی بھی اضافی پیکجز کے ساتھ ساتھ منتخب کردہ کام کے لیے تربیت اور تخمینہ کو سنبھالنے کے لیے اسکرپٹس لاتے ہیں۔ آخر میں، پہلے سے تربیت یافتہ ماڈل کے نمونے الگ سے لائے جاتے ہیں۔ model_uris، جو پلیٹ فارم کو لچک فراہم کرتا ہے۔ آپ ایک ہی ٹریننگ یا انفرنس اسکرپٹ کے ساتھ ایک ہی کام کے لیے پہلے سے تربیت یافتہ ماڈلز کی تعداد استعمال کر سکتے ہیں۔ درج ذیل کوڈ دیکھیں:

model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*"

# Retrieve the inference docker container uri
deploy_image_uri = image_uris.retrieve(
    region=None,
    framework=None,  # automatically inferred from model_id
    image_scope="inference",
    model_id=model_id,
    model_version=model_version,
    instance_type=inference_instance_type,
)

# Retrieve the inference script uri
deploy_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="inference")

base_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="inference")

مثال کے طور پر سیگمنٹیشن، ہم سیٹ کر سکتے ہیں۔ model_id کرنے کے لئے mxnet-semseg-fcn-resnet50-ade. The is in the identifier instance segmentation کے مساوی ہے۔

اگلا، ہم وسائل کو a میں فیڈ کرتے ہیں۔ سیج میکر ماڈل مثال کے طور پر اور ایک اختتامی نقطہ تعینات کریں:

# Create the SageMaker model instance
model = Model(
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    model_data=base_model_uri,
    entry_point="inference.py",  # entry point file in source_dir and present in deploy_source_uri
    role=aws_role,
    predictor_cls=Predictor,
    name=endpoint_name,
)

# deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class,
# for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    predictor_cls=Predictor,
    endpoint_name=endpoint_name,
)

چند منٹوں کے بعد، ہمارا ماڈل تعینات ہو جاتا ہے اور ہم اس سے حقیقی وقت میں پیشین گوئیاں حاصل کر سکتے ہیں!

درج ذیل کوڈ کا ٹکڑا آپ کو اس بات کی ایک جھلک دیتا ہے کہ سیمنٹک سیگمنٹیشن کیسی دکھتی ہے۔ ہر پکسل کے لیے پیشن گوئی کا ماسک تصور کیا جاتا ہے۔ تعینات کردہ ماڈل سے نتائج حاصل کرنے کے لیے، ایک ان پٹ امیج کو بائنری فارمیٹ میں فراہم کرنے کی ضرورت ہے۔ اختتامی نقطہ کا جواب تصویر میں ہر پکسل کے لیے ایک پیشین گوئی شدہ لیبل ہے۔ ہم استعمال کرتے ہیں query_endpoint اور parse_response مددگار افعال، جو کہ میں بیان کیے گئے ہیں۔ ساتھ والی نوٹ بک:

query_response = query(base_model_predictor, pedestrian_img)
predictions, labels, image_labels = parse_response(query_response)
print("Objects present in the picture:", image_labels)

پہلے سے تربیت یافتہ ماڈل کو ٹھیک بنائیں

کسی منتخب ماڈل کو ٹھیک کرنے کے لیے، ہمیں اس ماڈل کا URI، ساتھ ہی ٹریننگ اسکرپٹ اور ٹریننگ کے لیے استعمال ہونے والی کنٹینر امیج حاصل کرنے کی ضرورت ہے۔ شکر ہے، یہ تینوں ان پٹ مکمل طور پر ماڈل کے نام، ورژن پر منحصر ہیں (دستیاب ماڈلز کی فہرست کے لیے، دیکھیں جمپ سٹارٹ دستیاب ماڈل ٹیبل)، اور مثال کی قسم جس کی آپ تربیت کرنا چاہتے ہیں۔ یہ درج ذیل کوڈ کے ٹکڑوں میں ظاہر ہوتا ہے:

from sagemaker import image_uris, model_uris, script_uris

model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*"
training_instance_type = "ml.p3.2xlarge"
train_image_uri = image_uris.retrieve(
    region=None,
    framework=None,
    model_id=model_id,
    model_version=model_version,
    image_scope="training",
    instance_type=training_instance_type,)# Retrieve the training script

train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training")# Retrieve the pre-trained model tarball to further fine-tune

train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training")

ہم بازیافت کرتے ہیں۔ model_id اسی ماڈل کے مطابق جو ہم نے پہلے استعمال کیا تھا۔ اب آپ SageMaker SDK کا استعمال کرتے ہوئے اس جمپ ​​سٹارٹ ماڈل کو اپنی مرضی کے مطابق ڈیٹا سیٹ پر ٹھیک کر سکتے ہیں۔ ہم ایک ڈیٹاسیٹ استعمال کرتے ہیں جو Amazon S3 پر عوامی طور پر ہوسٹ کیا جاتا ہے، آسانی سے سیمنٹک سیگمنٹیشن پر توجہ مرکوز کرتا ہے۔ ڈیٹاسیٹ کو ٹھیک ٹیوننگ کے لیے تشکیل دیا جانا چاہیے جیسا کہ پچھلے حصے میں بیان کیا گیا ہے۔ مندرجہ ذیل مثال کوڈ دیکھیں:

# URI of your training dataset
training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
training_data_prefix = "training-datasets/PennFudanPed_SemSeg/"
training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}"
training_job_name = name_from_base(f"jumpstart-example-{model_id}-transfer-learning")# Create SageMaker Estimator instance
semseg_estimator = Estimator(
    role=aws_role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,)# Launch a SageMaker Training job by passing s3 path of the training data
semseg_estimator.fit({"training": training_dataset_s3_path}, logs=True)

ہم اپنے منتخب کردہ ماڈل کے لیے وہی ڈیفالٹ ہائپرپیرامیٹر حاصل کرتے ہیں جو ہم نے پچھلے حصے میں دیکھے تھے، sagemaker.hyperparameters.retrieve_default(). اس کے بعد ہم سیج میکر کا تخمینہ لگانے والے کو فوری بناتے ہیں اور کال کرتے ہیں۔ .fit ہمارے ماڈل کو ٹھیک کرنا شروع کرنے کا طریقہ، اسے ہمارے ٹریننگ ڈیٹا کے لیے Amazon S3 URI پاس کرنا۔ دی entry_point فراہم کردہ اسکرپٹ کا نام ہے transfer_learning.py (دوسرے کاموں اور ماڈلز کے لیے وہی)، اور ان پٹ ڈیٹا چینل کو پاس کیا گیا .fit نام ہونا ضروری ہے training.

الگورتھم کی تربیت کے دوران، آپ SageMaker نوٹ بک میں اس کی پیشرفت کی نگرانی کر سکتے ہیں جہاں آپ خود کوڈ چلا رہے ہیں، یا آن ایمیزون کلاؤڈ واچ. جب ٹریننگ مکمل ہو جاتی ہے، تو ٹھیک ٹیونڈ ماڈل کے نمونے Amazon S3 آؤٹ پٹ لوکیشن پر اپ لوڈ کیے جاتے ہیں جو ٹریننگ کنفیگریشن میں بیان کیے گئے ہیں۔ اب آپ ماڈل کو پہلے سے تربیت یافتہ ماڈل کی طرح ہی تعینات کر سکتے ہیں۔

اعلی درجے کی خصوصیات

پہلے سے تربیت یافتہ ماڈلز کو ٹھیک کرنے اور تعینات کرنے کے علاوہ، جمپ سٹارٹ بہت سی جدید خصوصیات پیش کرتا ہے۔

پہلا ہے خودکار ماڈل ٹیوننگ. یہ آپ کو SageMaker API کے ذریعے فراہم کردہ رینج کے اندر سب سے زیادہ درستگی کے ساتھ ہائپر پیرامیٹر اقدار کو تلاش کرنے کے لیے اپنے ML ماڈلز کو خود بخود ٹیون کرنے کی اجازت دیتا ہے۔

دوسرے نمبر پر ہے اضافی تربیت. یہ آپ کو ایک ایسے ماڈل کو تربیت دینے کی اجازت دیتا ہے جو آپ نے پہلے ہی ایک توسیع شدہ ڈیٹاسیٹ کا استعمال کرتے ہوئے ٹھیک ٹیون کر رکھا ہے جس میں ایک بنیادی پیٹرن شامل ہے جس کا پچھلے فائن ٹیوننگ رنز میں حساب نہیں کیا گیا ہے، جس کے نتیجے میں ماڈل کی کارکردگی خراب ہے۔ اضافی تربیت سے وقت اور وسائل دونوں کی بچت ہوتی ہے کیونکہ آپ کو ماڈل کو شروع سے دوبارہ تربیت دینے کی ضرورت نہیں ہے۔

نتیجہ

اس پوسٹ میں، ہم نے دکھایا کہ پہلے سے تربیت یافتہ سیمنٹک سیگمنٹیشن ماڈل کو کس طرح ٹھیک کرنا ہے اور اسے جمپ اسٹارٹ کا استعمال کرتے ہوئے مثال کے طور پر سیگمنٹیشن کے لیے کیسے ڈھالنا ہے۔ آپ کوڈ لکھنے کی ضرورت کے بغیر اسے پورا کر سکتے ہیں۔ خود ہی حل آزمائیں اور ہمیں اپنی رائے بھیجیں۔

جمپ اسٹارٹ کے بارے میں مزید جاننے کے لیے اور آپ اوپن سورس پری ٹرینڈ ماڈلز کو مختلف قسم کے دیگر ایم ایل کاموں کے لیے کیسے استعمال کر سکتے ہیں، درج ذیل کو دیکھیں AWS re: Invent 2020 ویڈیو.


مصنفین کے بارے میں

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ امیج سیگمنٹیشن چلائیں۔ عمودی تلاش۔ عیڈاکٹر وویک مدن Amazon SageMaker جمپ سٹارٹ ٹیم کے ساتھ ایک اپلائیڈ سائنٹسٹ ہے۔ انہوں نے Urbana-Champaign میں یونیورسٹی آف الینوائے سے پی ایچ ڈی کی اور جارجیا ٹیک میں پوسٹ ڈاکٹریٹ ریسرچر تھے۔ وہ مشین لرننگ اور الگورتھم ڈیزائن میں ایک فعال محقق ہے اور اس نے EMNLP، ICLR، COLT، FOCS، اور SODA کانفرنسوں میں مقالے شائع کیے ہیں۔

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ امیج سیگمنٹیشن چلائیں۔ عمودی تلاش۔ عیسنتوش کلکرنی Amazon Web Services میں ایک انٹرپرائز سلوشنز آرکیٹیکٹ ہے جو آسٹریلیا میں کھیلوں کے صارفین کے ساتھ کام کرتا ہے۔ وہ AI/ML، بڑے ڈیٹا، اور سافٹ ویئر ڈویلپمنٹ میں اپنے علم کا استعمال کرتے ہوئے کاروباری مسائل کو حل کرنے کے لیے بڑے پیمانے پر تقسیم شدہ ایپلی کیشنز بنانے کا پرجوش ہے۔

Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence کے ساتھ امیج سیگمنٹیشن چلائیں۔ عمودی تلاش۔ عیلیونارڈو بچیگا ایمیزون سیج میکر جمپ اسٹارٹ ٹیم میں ایک سینئر سائنسدان اور مینیجر ہیں۔ وہ کمپیوٹر ویژن کے لیے AI سروسز بنانے کا پرجوش ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ