جنریٹیو ڈیٹا انٹیلی جنس

ایمیزون سیج میکر اسٹوڈیو لوکل موڈ اور ڈوکر سپورٹ کے ساتھ ایم ایل ورک فلو کو تیز کریں۔ ایمیزون ویب سروسز

تاریخ:

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

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

لوکل موڈ اور ڈوکر سپورٹ سیج میکر اسٹوڈیو نوٹ بک پر چلنے والے مقامی کنٹینرز کا استعمال کرتے ہوئے کوڈ کی تبدیلیوں اور پروٹو ٹائپنگ ماڈلز کی توثیق کرنے کے لیے ایک منظم ورک فلو پیش کرتے ہیں۔

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

سیج میکر اسٹوڈیو لوکل موڈ

سیج میکر اسٹوڈیو نے لوکل موڈ متعارف کرایا ہے، جو آپ کو سیج میکر ٹریننگ، انفرنس، بیچ ٹرانسفارم، اور پروسیسنگ جابز کو براہ راست اپنے JupyterLab، Code Editor، یا SageMaker Studio کلاسک نوٹ بک مثالوں پر بغیر ریموٹ کمپیوٹ وسائل کی ضرورت کے چلانے کے قابل بناتا ہے۔ لوکل موڈ استعمال کرنے کے فوائد میں شامل ہیں:

  • مربوط ترقیاتی ماحول (IDEs) کے اندر ہی کام کے بہاؤ کی فوری توثیق اور جانچ
  • آؤٹ پٹ کا معائنہ کرنے اور مسائل کی جلد شناخت کرنے کے لیے چھوٹے پیمانے پر ملازمتوں کے لیے مقامی رنز کے ذریعے تیز تر تکرار
  • دور دراز کی تربیتی ملازمتوں کے انتظار کو ختم کرکے بہتر ترقی اور ڈیبگنگ کی کارکردگی
  • کلاؤڈ میں مکمل ملازمتیں چلانے سے پہلے کوڈ کی تبدیلیوں پر فوری تاثرات

درج ذیل تصویر سیج میکر پر لوکل موڈ کا استعمال کرتے ہوئے ورک فلو کو واضح کرتی ہے۔

SageMaker پر لوکل موڈ کا استعمال کرتے ہوئے ورک فلو

لوکل موڈ استعمال کرنے کے لیے سیٹ کریں۔ instance_type='local' SageMaker Python SDK جابز جیسے کہ ٹریننگ اور انفرنس چلاتے وقت۔ یہ انہیں کلاؤڈ وسائل کی فراہمی کے بجائے آپ کے SageMaker اسٹوڈیو IDEs کے ذریعہ استعمال کردہ مثالوں پر چلائے گا۔

اگرچہ کچھ صلاحیتیں جیسے تقسیم شدہ تربیت صرف کلاؤڈ میں دستیاب ہیں، مقامی موڈ فوری تکرار کے لیے سیاق و سباق کو تبدیل کرنے کی ضرورت کو دور کرتا ہے۔ جب آپ SageMaker کی مکمل طاقت اور پیمانے سے فائدہ اٹھانے کے لیے تیار ہوں، تو آپ بغیر کسی رکاوٹ کے اپنے کام کے فلو کو کلاؤڈ میں چلا سکتے ہیں۔

سیج میکر اسٹوڈیو میں ڈوکر سپورٹ

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

درج ذیل خاکہ سیج میکر اسٹوڈیو کے اندر اعلیٰ سطح کے ڈوکر آرکیسٹریشن فن تعمیر کو واضح کرتا ہے۔

سیج میکر اسٹوڈیو کے اندر اعلی سطحی ڈوکر آرکیسٹریشن فن تعمیر

سیج میکر اسٹوڈیو میں ڈوکر سپورٹ کے ساتھ، آپ یہ کر سکتے ہیں:

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

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

شرائط

سیج میکر اسٹوڈیو ایپلی کیشنز میں لوکل موڈ استعمال کرنے کے لیے، آپ کو درج ذیل شرائط کو پورا کرنا ہوگا۔

  • سے تصاویر کھینچنے کے لیے ایمیزون لچکدار کنٹینر رجسٹری (ایمیزون ای سی آر)، ای سی آر امیج کی میزبانی کرنے والے اکاؤنٹ کو صارف کو رسائی کی اجازت فراہم کرنی ہوگی۔ شناخت اور رسائی کے انتظام (IAM) کا کردار۔ ڈومین کے کردار کو بھی Amazon ECR تک رسائی کی اجازت دینی چاہیے۔
  • لوکل موڈ اور ڈوکر کی صلاحیتوں کو فعال کرنے کے لیے، آپ کو سیٹ کرنا ہوگا۔ EnableDockerAccess ڈومین کے لیے پیرامیٹر درست DockerSettings کا استعمال کرتے ہوئے AWS کمانڈ لائن انٹرفیس (AWS CLI)۔ یہ ڈومین میں صارفین کو لوکل موڈ اور ڈوکر فیچرز استعمال کرنے کی اجازت دیتا ہے۔ پہلے سے طے شدہ طور پر، سیج میکر اسٹوڈیو میں لوکل موڈ اور ڈوکر غیر فعال ہیں۔ کسی بھی موجودہ سیج میکر اسٹوڈیو ایپس کو ڈوکر سروس اپ ڈیٹ کے اثر انداز ہونے کے لیے دوبارہ شروع کرنے کی ضرورت ہوگی۔ سیج میکر اسٹوڈیو ڈومین کو اپ ڈیٹ کرنے کے لیے AWS CLI کمانڈ کی مثال درج ذیل ہے۔
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔

سیج میکر اسٹوڈیو JupyterLab اور کوڈ ایڈیٹر (کی بنیاد پر کوڈ-او ایس ایس، بصری اسٹوڈیو کوڈ - اوپن سورس)، SageMaker اسٹوڈیو کو بڑھاتا ہے تاکہ آپ مقبول ہلکے وزن والے IDE کا استعمال کرتے ہوئے اپنے تجزیات اور ML کوڈ کو لکھ، جانچ، ڈیبگ اور چلا سکیں۔ SageMaker اسٹوڈیو IDEs کے ساتھ شروع کرنے کے طریقے کے بارے میں مزید تفصیلات کے لیے، رجوع کریں۔ ایمیزون سیج میکر اسٹوڈیو پر پیداواری صلاحیت کو بڑھانا: JupyterLab اسپیسز اور تخلیقی AI ٹولز کا تعارف اور نیا - کوڈ ایڈیٹر، کوڈ-او ایس ایس VS کوڈ اوپن سورس پر مبنی اب ایمیزون سیج میکر اسٹوڈیو میں دستیاب ہے۔. درج ذیل مراحل کو مکمل کریں:

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔

  • ایک نیا ٹرمینل بنائیں۔  لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔
  • درج ذیل ہدایات پر عمل کرتے ہوئے Docker CLI اور Docker Compose پلگ ان انسٹال کریں۔ GitHub repo. اگر زنجیروں والی کمانڈز ناکام ہوجاتی ہیں تو، ایک وقت میں ایک کمانڈ چلائیں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ آپ کو SageMaker SDK کو تازہ ترین ورژن میں اپ ڈیٹ کرنا ہوگا۔

  • رن pip install sagemaker -Uq ٹرمینل میں.

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

  • کوڈ ایڈیٹر میں، پر فائل مینومنتخب کریں ترجیحات اور ترتیبات.

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔

  • تلاش کریں اور منتخب کریں۔ ٹرمینل: فائل دیر میں عمل کریں۔.

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔

  • کوڈ ایڈیٹر یا JupyterLab میں، کھولیں۔ scikit_learn_script_mode_local_training_and_serving فولڈر اور چلائیں scikit_learn_script_mode_local_training_and_serving.py فائل.

آپ اسکرپٹ کو منتخب کرکے چلا سکتے ہیں۔ رن کوڈ ایڈیٹر میں یا JupyterLab ٹرمینل میں CLI استعمال کرنا۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ آپ دیکھ سکیں گے کہ ماڈل کو مقامی طور پر کس طرح تربیت دی جاتی ہے۔ پھر آپ ماڈل کو مقامی طور پر سیج میکر کے اختتامی نقطہ پر تعینات کرتے ہیں، اور جڑ کے اوسط مربع کی غلطی کا حساب لگاتے ہیں (RMSE). لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کی جگہوں پر پائتھون فائلیں چلائیں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

چھوٹے پیمانے پر تربیتی کام چلانے کے لیے آپ SageMaker Studio Classic میں ایک نوٹ بک بھی استعمال کر سکتے ہیں۔ CIFAR10 لوکل موڈ کا استعمال کرتے ہوئے، ماڈل کو مقامی طور پر تعینات کریں، اور اندازہ انجام دیں۔

اپنی نوٹ بک ترتیب دیں۔

نوٹ بک کو ترتیب دینے کے لیے، درج ذیل مراحل کو مکمل کریں:

  • سیج میکر اسٹوڈیو کلاسک کھولیں اور درج ذیل کو کلون کریں۔ GitHub repo.

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • کھولو pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • کے لئے تصویرمنتخب کریں PyTorch 2.1.0 Python 3.10 CPU Optimized.

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔ تصدیق کریں کہ آپ کی نوٹ بک صحیح مثال اور دانا کا انتخاب دکھاتی ہے۔ لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • منتخب کرکے ٹرمینل کھولیں۔ ٹرمینل لانچ کریں۔ موجودہ سیج میکر تصویر میں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • درج ذیل ہدایات پر عمل کرتے ہوئے Docker CLI اور Docker Compose پلگ ان انسٹال کریں۔ GitHub repo.

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

  • ٹرمینل ونڈو کو کھلا چھوڑیں، نوٹ بک پر واپس جائیں، اور اسے سیل بہ سیل چلانا شروع کریں۔

کے ساتھ سیل چلانا یقینی بنائیں pip install -U sagemaker لہذا آپ SageMaker Python SDK کا تازہ ترین ورژن استعمال کر رہے ہیں۔

مقامی تربیت

جب آپ مقامی سیج میکر ٹریننگ جاب چلانا شروع کرتے ہیں، تو آپ کو درج ذیل لاگ لائنیں نظر آئیں گی۔

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

اس سے ظاہر ہوتا ہے کہ تربیت مقامی طور پر ڈوکر کے استعمال سے چل رہی تھی۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

جب تک صبر کرو pytorch-training:2.1-cpu-py310 ڈاکر کی تصویر کھینچی گئی ہے۔ اس کے بڑے سائز (5.2 GB) کی وجہ سے، اس میں چند منٹ لگ سکتے ہیں۔

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

صارف کی رازداری کے نقطہ نظر سے، SageMaker اسٹوڈیو پلیٹ فارم کبھی بھی صارف کی مخصوص تصاویر تک رسائی یا ذخیرہ نہیں کرتا ہے۔

تربیت مکمل ہونے پر، آپ درج ذیل کامیابی کی لاگ لائنیں دیکھ سکیں گے:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

مقامی اندازہ

درج ذیل مراحل کو مکمل کریں:

  • SageMaker لوکل موڈ کا استعمال کرتے ہوئے SageMaker اینڈ پوائنٹ کو تعینات کریں۔

جب تک صبر کرو pytorch-inference:2.1-cpu-py310 ڈاکر کی تصویر کھینچی گئی ہے۔ اس کے بڑے سائز (4.32 GB) کی وجہ سے، اس میں چند منٹ لگ سکتے ہیں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • ٹیسٹ امیجز کا استعمال کرتے ہوئے مقامی طور پر تعینات سیج میکر اینڈ پوائنٹ کو طلب کریں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

آپ پیشن گوئی کی کلاسیں دیکھ سکیں گے: مینڈک، جہاز، کار، اور ہوائی جہاز:

Predicted:  frog ship  car plane

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • چونکہ سیج میکر لوکل اینڈ پوائنٹ ابھی باقی ہے، اس لیے دوبارہ کھلی ٹرمینل ونڈو پر جائیں اور چلتے ہوئے کنٹینرز کی فہرست بنائیں:

docker ps

آپ دوڑتے ہوئے دیکھ سکیں گے۔ pytorch-inference:2.1-cpu-py310 کنٹینر سیج میکر اینڈ پوائنٹ کی پشت پناہی کرتا ہے۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • SageMaker لوکل اینڈ پوائنٹ کو بند کرنے اور چلنے والے کنٹینر کو روکنے کے لیے، کیونکہ آپ ایک وقت میں صرف ایک مقامی اینڈ پوائنٹ چلا سکتے ہیں، کلین اپ کوڈ چلائیں۔

لوکل موڈ کا استعمال کرتے ہوئے سیج میکر اسٹوڈیو کلاسک میں تربیت اور تخمینہ کی نقل کریں۔

  • یہ یقینی بنانے کے لیے کہ ڈوکر کنٹینر نیچے ہے، آپ کھلی ہوئی ٹرمینل ونڈو پر جا سکتے ہیں، docker PS چلا سکتے ہیں، اور اس بات کو یقینی بنائیں کہ کوئی کنٹینر نہیں چل رہا ہے۔
  • اگر آپ دیکھتے ہیں کہ کنٹینر چل رہا ہے، تو چلائیں docker stop <CONTAINER_ID> اسے روکنے کے لئے.

سیج میکر لوکل موڈ استعمال کرنے کے لیے نکات

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

مندرجہ ذیل سفارشات کو ذہن میں رکھیں:

  • ڈیٹا سیٹ اور ماڈل لوڈنگ کو سمجھنے کے لیے ان پٹ اور آؤٹ پٹ فائلوں اور فولڈرز کو پرنٹ کریں۔
  • فوری جانچ کے لیے 1-2 دور اور چھوٹے ڈیٹا سیٹس کا استعمال کریں۔
  • ماحول کے سیٹ اپ کو بہتر بنانے کے لیے ڈوکر فائل میں انحصار کو پہلے سے انسٹال کریں۔
  • ڈیبگنگ کے لیے اینڈ پوائنٹس میں سیریلائزیشن کوڈ کو الگ کریں۔

ڈوکر انسٹالیشن کو لائف سائیکل کنفیگریشن کے بطور کنفیگر کریں۔

آپ ڈوکر انسٹال کے عمل کو لائف سائیکل کنفیگریشن (LCC) اسکرپٹ کے طور پر متعین کر سکتے ہیں تاکہ سیٹ اپ کو آسان بنایا جا سکے جب بھی کوئی نیا SageMaker Studio اسپیس شروع ہوتا ہے۔ LCCs اسکرپٹ ہیں جو SageMaker خلائی تخلیق جیسے واقعات کے دوران چلاتا ہے۔ سے رجوع کریں۔ jupyter لیب, کوڈ ایڈیٹر، یا سیج میکر اسٹوڈیو کلاسک LCC سیٹ اپ (استعمال کرتے ہوئے docker انسٹال cli حوالہ کے طور پر) مزید جاننے کے لیے۔

ڈوکر انسٹالیشن کو لائف سائیکل کنفیگریشن کے بطور کنفیگر کریں۔

ڈوکر انسٹالیشن کو لائف سائیکل کنفیگریشن کے بطور کنفیگر کریں۔

سیج میکر اسٹوڈیو کی جگہوں پر اپنی مرضی کے مطابق ڈوکر امیجز بنائیں اور ٹیسٹ کریں۔

اس مرحلے میں، آپ JupyterLab (یا Code Editor) ایپ کی جگہ کے اندر Docker انسٹال کرتے ہیں اور SageMaker اسٹوڈیو اسپیس کے ساتھ اپنی مرضی کے مطابق Docker امیجز بنانے، جانچنے اور شائع کرنے کے لیے Docker کا استعمال کرتے ہیں۔ کچھ SageMaker اسٹوڈیو ایپلی کیشنز کے سٹوریج اور وسائل کی ضروریات کو منظم کرنے کے لیے خالی جگہوں کا استعمال کیا جاتا ہے۔ ہر اسپیس کا اطلاق کی مثال کے ساتھ 1:1 تعلق ہوتا ہے۔ ہر تعاون یافتہ ایپلیکیشن جو بنائی جاتی ہے اسے اپنی جگہ ملتی ہے۔ SageMaker خالی جگہوں کے بارے میں مزید جاننے کے لیے، رجوع کریں۔ ایمیزون سیج میکر اسٹوڈیو پر پیداواری صلاحیت کو بڑھانا: JupyterLab اسپیسز اور تخلیقی AI ٹولز کا تعارف. یقینی بنائیں کہ آپ کم از کم 30 GB اسٹوریج کے ساتھ ایک نئی جگہ فراہم کرتے ہیں تاکہ Docker امیجز اور فن پاروں کے لیے کافی ذخیرہ ہو سکے۔

ایک جگہ کے اندر ڈوکر انسٹال کریں۔

ڈوکر سی ایل آئی اور ڈوکر کمپوز پلگ ان کو JupyterLab اسپیس کے اندر انسٹال کرنے کے لیے درج ذیل کمانڈز کو چلائیں۔ GitHub repo. سیج میکر اسٹوڈیو صرف ڈوکر ورژن 20.10.X کو سپورٹ کرتا ہے۔.

ڈوکر امیجز بنائیں

اس بات کی تصدیق کرنے کے لیے کہ ڈوکر انسٹال ہے اور آپ کے JupyterLab اسپیس کے اندر کام کر رہا ہے، درج ذیل کوڈ کو چلائیں:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

JupyterLab (یا کوڈ ایڈیٹر) کی جگہ کے اندر اپنی مرضی کے مطابق ڈوکر امیج بنانے کے لیے، درج ذیل مراحل کو مکمل کریں:

  • ایک خالی ڈاکر فائل بنائیں:

touch Dockerfile

  • مندرجہ ذیل کمانڈز کے ساتھ ڈاکر فائل میں ترمیم کریں، جو بیس ازگر سے ایک سادہ فلاسک ویب سرور امیج بناتا ہے: 3.10.13-bullseye امیج پر میزبانی کی گئی ڈوکر حب:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

مندرجہ ذیل کوڈ ایک مثال فلاسک ایپلی کیشن فائل کے مواد کو دکھاتا ہے۔ app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

مزید برآں، آپ اپنی پسند کے پیکجز اور نمونے شامل کرنے کے لیے حوالہ Dockerfile کمانڈز کو اپ ڈیٹ کر سکتے ہیں۔

  • حوالہ Dockerfile کا استعمال کرتے ہوئے ایک Docker امیج بنائیں:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

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

  • جب آپ کی تعمیر مکمل ہو جائے تو تصدیق کریں کہ آیا تصویر موجود ہے۔ تعمیر کو ECR امیج کے طور پر دوبارہ ٹیگ کریں اور پش کریں۔ اگر آپ کو اجازت کے مسائل کا سامنا ہے تو، aws ecr get-login-password… کمانڈ چلائیں اور Docker push/pull کو دوبارہ چلانے کی کوشش کریں:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

ٹیسٹ ڈوکر امیجز

ڈوکر کو JupyterLab (یا کوڈ ایڈیٹر) SageMaker اسٹوڈیو کی جگہ کے اندر انسٹال کرنے سے آپ کو پہلے سے تعمیر شدہ یا اپنی مرضی کے مطابق Docker امیجز کو بطور کنٹینرز (یا کنٹینرائزڈ ایپلی کیشنز) کی جانچ کرنے کی اجازت ملتی ہے۔ اس سیکشن میں، ہم سیج میکر اسٹوڈیو کی جگہ کے اندر ڈوکر کنٹینرز کی فراہمی کے لیے ڈوکر رن کمانڈ کا استعمال کرتے ہیں تاکہ کنٹینرائزڈ ورک بوجھ جیسے REST ویب سروسز اور Python اسکرپٹس کو جانچیں۔ درج ذیل مراحل کو مکمل کریں:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • اگر ٹیسٹ امیج موجود نہیں ہے تو، تصویر کو اپنی مقامی مشین میں کھینچنے کے لیے docker پل چلائیں:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • اگر آپ کو تصدیق کے مسائل کا سامنا ہے، تو درج ذیل کمانڈز چلائیں:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • اپنے کام کا بوجھ جانچنے کے لیے ایک کنٹینر بنائیں:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

یہ ایک نئے کنٹینر کی مثال کو گھماتا ہے اور ڈوکر کے ENTRYPOINT کا استعمال کرتے ہوئے بیان کردہ ایپلیکیشن کو چلاتا ہے:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • یہ جانچنے کے لیے کہ آیا آپ کا ویب اینڈ پوائنٹ فعال ہے، URL پر جائیں۔ https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

آپ کو مندرجہ ذیل اسکرین شاٹ کی طرح JSON جواب دیکھنا چاہیے۔

ڈوکر انسٹالیشن کو لائف سائیکل کنفیگریشن کے بطور کنفیگر کریں۔

صاف کرو

غیر ضروری چارجز سے بچنے کے لیے، ان وسائل کو حذف کریں جو آپ نے اس پوسٹ میں مثالیں چلاتے ہوئے تخلیق کیے ہیں:

  1. اپنے سیج میکر اسٹوڈیو ڈومین میں، منتخب کریں۔ اسٹوڈیو کلاسیکی نیویگیشن پین میں، پھر منتخب کریں۔ بند کرو.
  2. اپنے سیج میکر اسٹوڈیو ڈومین میں، منتخب کریں۔ jupyter لیب or کوڈ ایڈیٹر نیویگیشن پین میں، اپنی ایپ کا انتخاب کریں، اور پھر منتخب کریں۔ بند کرو.

نتیجہ

سیج میکر اسٹوڈیو لوکل موڈ اور ڈوکر سپورٹ ڈویلپرز کو اپنے ورک اسپیس کو چھوڑے بغیر ایم ایل کے نفاذ کو تیزی سے بنانے، جانچنے اور دوبارہ کرنے کے لیے بااختیار بناتے ہیں۔ ٹیسٹ کے ماحول اور آؤٹ پٹس تک فوری رسائی فراہم کرکے، یہ صلاحیتیں ورک فلو کو بہتر کرتی ہیں اور پیداواری صلاحیت کو بہتر کرتی ہیں۔ ہمارا استعمال کرتے ہوئے سیج میکر اسٹوڈیو لوکل ماڈل اور ڈوکر سپورٹ کو آزمائیں۔ فوری جہاز کی خصوصیت، جو آپ کو چند منٹوں میں واحد صارفین کے لیے ایک نیا ڈومین بنانے کی اجازت دیتا ہے۔ تبصرے کے سیکشن میں اپنے خیالات کا اشتراک کریں!


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

شویتا سنگھشویتا سنگھ AWS میں Amazon SageMaker مشین لرننگ (ML) پلیٹ فارم ٹیم میں ایک سینئر پروڈکٹ مینیجر ہے، جو SageMaker Python SDK کی قیادت کر رہا ہے۔ اس نے ایمیزون میں 5 سال سے زیادہ عرصے سے کئی پروڈکٹ رولز میں کام کیا ہے۔ اس نے کمپیوٹر انجینئرنگ میں بیچلر آف سائنس کی ڈگری اور فنانشل انجینئرنگ میں ماسٹر آف سائنس کی ہے، دونوں نیویارک یونیورسٹی سے

ایتان سیلاایتان سیلا AWS کا ایک جنریٹو AI اور مشین لرننگ اسپیشلسٹ سولیوشن آرکیٹیکٹ ہے۔ وہ AWS صارفین کے ساتھ رہنمائی اور تکنیکی مدد فراہم کرنے کے لیے کام کرتا ہے، جس سے انہیں AWS پر جنریٹو AI اور مشین لرننگ سلوشنز بنانے اور چلانے میں مدد ملتی ہے۔ اپنے فارغ وقت میں، Eitan جاگنگ اور جدید ترین مشین لرننگ آرٹیکلز پڑھنے سے لطف اندوز ہوتا ہے۔

پرناو مورتیپرناو مورتی AWS میں ایک AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ صارفین کو مشین لرننگ (ML) کام کے بوجھ کو SageMaker پر بنانے، تربیت دینے، تعینات کرنے اور منتقل کرنے میں مدد کرنے پر توجہ مرکوز کرتا ہے۔ اس نے پہلے سیمی کنڈکٹر انڈسٹری میں کام کیا جو بڑے کمپیوٹر وژن (CV) اور نیچرل لینگویج پروسیسنگ (NLP) ماڈلز تیار کرتا ہے تاکہ جدید ترین ML تکنیکوں کا استعمال کرتے ہوئے سیمی کنڈکٹر کے عمل کو بہتر بنایا جا سکے۔ اپنے فارغ وقت میں وہ شطرنج کھیلنا اور سفر کرنا پسند کرتا ہے۔ آپ پرناو کو تلاش کر سکتے ہیں۔ لنکڈ.

مفضل روہاوالہمفضل روہاوالہ AWS میں سافٹ ویئر انجینئر ہے۔ وہ Amazon SageMaker کے لیے SageMaker Python SDK لائبریری پر کام کرتا ہے۔ اپنے فارغ وقت میں، وہ سفر، بیرونی سرگرمیوں سے لطف اندوز ہوتا ہے اور فٹ بال کا مداح ہے۔

اسپاٹ_مگ

تازہ ترین انٹیلی جنس

اسپاٹ_مگ

ہمارے ساتھ بات چیت

ہیلو وہاں! میں آپ کی کیسے مدد کر سکتا ہوں؟