Amazon SageMaker میں TensorFlow امیج کی درجہ بندی کے ماڈلز کے لیے سیکھنے کو منتقل کریں۔

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

آج سے، SageMaker تصویر کی درجہ بندی کے لیے ایک نیا بلٹ ان الگورتھم فراہم کرتا ہے: تصویری درجہ بندی - ٹینسر فلو. یہ ایک زیر نگرانی سیکھنے کا الگورتھم ہے جو دستیاب بہت سے پہلے سے تربیت یافتہ ماڈلز کے لیے ٹرانسفر لرننگ کی حمایت کرتا ہے۔ ٹینسر فلو حب. یہ ان پٹ کے طور پر ایک تصویر لیتا ہے اور ہر کلاس لیبل کے لیے امکان کو آؤٹ پٹ کرتا ہے۔ آپ ٹرانسفر لرننگ کا استعمال کرتے ہوئے ان پہلے سے تربیت یافتہ ماڈلز کو ٹھیک کر سکتے ہیں یہاں تک کہ جب بڑی تعداد میں تربیتی تصاویر دستیاب نہ ہوں۔ یہ سیج میکر کے ذریعے دستیاب ہے۔ بلٹ ان الگورتھم اس کے ساتھ ساتھ سیج میکر جمپ اسٹارٹ UI کے اندر ایمیزون سیج میکر اسٹوڈیو. مزید معلومات کے لیے، اس کی دستاویزات دیکھیں تصویری درجہ بندی - ٹینسر فلو اور مثال نوٹ بک SageMaker TensorFlow کا تعارف - تصویری درجہ بندی.

SageMaker میں TensorFlow کے ساتھ تصویری درجہ بندی TensorFlow Hub میں دستیاب بہت سے پہلے سے تربیت یافتہ ماڈلز پر ٹرانسفر لرننگ فراہم کرتی ہے۔ تربیتی ڈیٹا میں کلاس لیبلز کی تعداد کے مطابق، پہلے سے تربیت یافتہ TensorFlow Hub ماڈل کے ساتھ درجہ بندی کی ایک تہہ منسلک ہے۔ درجہ بندی کی پرت ایک ڈراپ آؤٹ پرت اور ایک گھنے پرت پر مشتمل ہے، جو کہ 2-نارم ریگولرائزر کے ساتھ مکمل طور پر جڑی ہوئی پرت ہے جسے بے ترتیب وزن کے ساتھ شروع کیا جاتا ہے۔ ماڈل ٹریننگ میں ڈراپ آؤٹ پرت کے ڈراپ آؤٹ ریٹ کے لیے ہائپر پیرامیٹر اور گھنے پرت کے لیے L2 ریگولرائزیشن فیکٹر ہے۔ پھر یا تو پورا نیٹ ورک، بشمول پہلے سے تربیت یافتہ ماڈل، یا صرف اعلی درجہ بندی کی تہہ کو نئے تربیتی ڈیٹا پر ٹھیک بنایا جا سکتا ہے۔ اس ٹرانسفر لرننگ موڈ میں، آپ چھوٹے ڈیٹا سیٹ کے ساتھ بھی تربیت حاصل کر سکتے ہیں۔

نیا TensorFlow امیج کی درجہ بندی الگورتھم کا استعمال کیسے کریں۔

یہ سیکشن بیان کرتا ہے کہ TensorFlow امیج کی درجہ بندی الگورتھم کے ساتھ کیسے استعمال کیا جائے۔ SageMaker Python SDK. اسٹوڈیو UI سے اسے استعمال کرنے کے طریقے کے بارے میں معلومات کے لیے، دیکھیں سیج میکر جمپ اسٹارٹ.

الگورتھم میں درج پہلے سے تربیت یافتہ ماڈلز کے لیے ٹرانسفر لرننگ کی حمایت کرتا ہے۔ ٹینسر فلو حب ماڈلز. ہر ماڈل کی شناخت ایک منفرد سے ہوتی ہے۔ model_id. درج ذیل کوڈ سے پتہ چلتا ہے کہ موبائل نیٹ V2 1.00 224 کو کس طرح ٹھیک کرنا ہے۔ model_id tensorflow-ic-imagenet-mobilenet-v2-100-224-classification-4 کسٹم ٹریننگ ڈیٹاسیٹ پر۔ ہر ایک کے لئے model_idکے ذریعے سیج میکر ٹریننگ کا کام شروع کرنے کے لیے تخمینہ SageMaker Python SDK کی کلاس، آپ کو SageMaker میں فراہم کردہ یوٹیلیٹی فنکشنز کے ذریعے Docker امیج URI، ٹریننگ اسکرپٹ URI، اور پہلے سے تربیت یافتہ ماڈل URI لانے کی ضرورت ہے۔ تربیتی اسکرپٹ URI میں ڈیٹا پروسیسنگ، پہلے سے تربیت یافتہ ماڈل لوڈ کرنے، ماڈل ٹریننگ، اور تربیت یافتہ ماڈل کو اندازہ کے لیے محفوظ کرنے کے لیے تمام ضروری کوڈ شامل ہیں۔ پہلے سے تربیت یافتہ ماڈل URI میں پہلے سے تربیت یافتہ ماڈل فن تعمیر کی تعریف اور ماڈل کے پیرامیٹرز شامل ہیں۔ نوٹ کریں کہ Docker امیج URI اور ٹریننگ اسکرپٹ URI تمام TensorFlow امیج کی درجہ بندی کے ماڈلز کے لیے ایک جیسے ہیں۔ پہلے سے تربیت یافتہ ماڈل URI مخصوص ماڈل کے لیے مخصوص ہے۔ پہلے سے تربیت یافتہ ماڈل ٹربالز کو TensorFlow Hub سے پہلے سے ڈاؤن لوڈ کیا گیا ہے اور مناسب ماڈل کے دستخط کے ساتھ محفوظ کیا گیا ہے۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) بالٹیاں، اس طرح کہ تربیتی کام نیٹ ورک تنہائی میں چلتا ہے۔ درج ذیل کوڈ دیکھیں:

from sagemaker import image_uris, model_uris, script_uris
from sagemaker.estimator import Estimator

model_id, model_version = "tensorflow-ic-imagenet-mobilenet-v2-100-224-classification-4", "*"
training_instance_type = "ml.p3.2xlarge"

# Retrieve the docker image
train_image_uri = image_uris.retrieve(model_id=model_id,model_version=model_version,image_scope="training",instance_type=training_instance_type,region=None,framework=None)

# 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 for transfer learning
train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training")

output_bucket = sess.default_bucket()
output_prefix = "jumpstart-example-ic-training"
s3_output_location = f"s3://{output_bucket}/{output_prefix}/output"

ان ماڈل کے ساتھ مخصوص تربیتی نمونے کے ساتھ، آپ ایک آبجیکٹ بنا سکتے ہیں۔ تخمینہ کلاس:

# Create SageMaker Estimator instance
tf_ic_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,
)

اس کے بعد، اپنے حسب ضرورت ڈیٹاسیٹ پر سیکھنے کی منتقلی کے لیے، آپ کو ٹریننگ ہائپر پیرامیٹر کی ڈیفالٹ اقدار کو تبدیل کرنے کی ضرورت پڑسکتی ہے، جو درج ذیل میں درج ہیں۔ ہائپرپیرامیٹر. آپ کال کر کے ان ہائپر پیرامیٹر کی ڈیفالٹ اقدار کے ساتھ ازگر کی لغت حاصل کر سکتے ہیں۔ hyperparameters.retrieve_default، انہیں ضرورت کے مطابق اپ ڈیٹ کریں، اور پھر انہیں تخمینہ لگانے والی کلاس میں منتقل کریں۔ نوٹ کریں کہ کچھ ہائپرپیرامیٹرس کی ڈیفالٹ قدریں مختلف ماڈلز کے لیے مختلف ہیں۔ بڑے ماڈلز کے لیے، پہلے سے طے شدہ بیچ کا سائز چھوٹا ہوتا ہے۔ train_only_top_layer hyperparameter پر سیٹ کیا گیا ہے۔ True. ہائپر پیرامیٹر Train_only_top_layer وضاحت کرتا ہے کہ کون سے ماڈل کے پیرامیٹرز فائن ٹیوننگ کے عمل کے دوران تبدیل ہوتے ہیں۔ اگر train_only_top_layer is True، درجہ بندی کی تہوں کے پیرامیٹرز بدل جاتے ہیں اور باقی پیرامیٹرز فائن ٹیوننگ کے عمل کے دوران مستقل رہتے ہیں۔ دوسری طرف، اگر train_only_top_layer is False، ماڈل کے تمام پیرامیٹرز ٹھیک ہیں۔ درج ذیل کوڈ دیکھیں:

from sagemaker import hyperparameters
# Retrieve the default hyper-parameters for fine-tuning the model
hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version)

# [Optional] Override default hyperparameters with custom values
hyperparameters["epochs"] = "5"

درج ذیل کوڈ S3 بالٹیوں میں ہوسٹ کردہ ڈیفالٹ ٹریننگ ڈیٹاسیٹ فراہم کرتا ہے۔ ہم فراہم کرتے ہیں tf_flowers ماڈلز کو ٹھیک کرنے کے لیے ڈیٹاسیٹ بطور ڈیفالٹ ڈیٹاسیٹ۔ ڈیٹاسیٹ میں پھولوں کی پانچ اقسام کی تصاویر شامل ہیں۔ ڈیٹا سیٹ سے ڈاؤن لوڈ کیا گیا ہے۔ TensorFlow کے تحت اپاچی 2.0 لائسنس.

# Sample training data is available in this bucket
training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
training_data_prefix = "training-datasets/tf_flowers/"

training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}"

آخر میں، ماڈل کو ٹھیک کرنے کے لیے سیج میکر ٹریننگ جاب شروع کرنے کے لیے، کال کریں۔ .fit تخمینہ لگانے والے کلاس کے اعتراض پر، تربیتی ڈیٹاسیٹ کے S3 مقام کو پاس کرتے ہوئے:

# Launch a SageMaker Training job by passing s3 path of the training data
tf_ic_estimator.fit({"training": training_dataset_s3_path}, logs=True)

کسٹم ڈیٹاسیٹ پر ٹرانسفر لرننگ کے لیے نئے SageMaker TensorFlow امیج کی درجہ بندی الگورتھم کو استعمال کرنے کے بارے میں مزید معلومات کے لیے، فائن ٹیونڈ ماڈل کو تعینات کریں، ڈیپلائی شدہ ماڈل پر انفرنس چلائیں، اور پہلے سے تربیت یافتہ ماڈل کو تعینات کریں جیسا کہ پہلی بار فائن ٹیوننگ کے بغیر ہے۔ حسب ضرورت ڈیٹاسیٹ پر، درج ذیل مثال نوٹ بک دیکھیں: SageMaker TensorFlow کا تعارف - تصویری درجہ بندی.

TensorFlow امیج کی درجہ بندی الگورتھم کے لیے ان پٹ/آؤٹ پٹ انٹرفیس

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

  • ان پٹ - ایک ڈائرکٹری جس میں کلاسوں کی تعداد جتنی سب ڈائرکٹریاں ہوں۔ ہر ذیلی ڈائرکٹری میں اس کلاس سے تعلق رکھنے والی تصاویر .jpg، .jpeg، یا .png فارمیٹ میں ہونی چاہئیں۔
  • آؤٹ پٹ - ایک ٹھیک ٹیونڈ ماڈل جسے اندازہ لگانے کے لیے تعینات کیا جا سکتا ہے یا اضافی تربیت کا استعمال کرتے ہوئے مزید تربیت دی جا سکتی ہے۔ ایک پری پروسیسنگ اور پوسٹ پروسیسنگ دستخط ٹھیک ٹیونڈ ماڈل میں اس طرح شامل کیے جاتے ہیں کہ یہ خام .jpg امیج کو بطور ان پٹ لیتا ہے اور کلاس کے امکانات واپس کرتا ہے۔ ایک فائل میپنگ کلاس انڈیکس کو کلاس لیبلز کے ساتھ ماڈلز کے ساتھ محفوظ کیا جاتا ہے۔

ان پٹ ڈائرکٹری کو مندرجہ ذیل مثال کی طرح نظر آنا چاہئے اگر ٹریننگ ڈیٹا میں دو کلاسوں کی تصاویر ہوں: roses اور dandelion. S3 کا راستہ ایسا نظر آنا چاہیے۔ s3://bucket_name/input_directory/. ٹریلنگ نوٹ کریں۔ / کی ضرورت ہے. فولڈرز کے نام اور roses, dandelionاور .jpg فائل نام کچھ بھی ہو سکتے ہیں۔ لیبل میپنگ فائل جو S3 بالٹی پر تربیت یافتہ ماڈل کے ساتھ محفوظ کی گئی ہے فولڈر کے نام گلاب اور ڈینڈیلین کو ماڈل آؤٹ پٹ کی کلاس امکانات کی فہرست میں انڈیکس میں نقش کرتی ہے۔ نقشہ سازی فولڈر کے ناموں کے حروف تہجی کے مطابق ترتیب دیتی ہے۔ مندرجہ ذیل مثال میں، ماڈل آؤٹ پٹ لسٹ میں انڈیکس 0 کے مساوی ہے۔ dandelion، اور انڈیکس 1 کے مساوی ہے۔ roses.

input_directory
    |--roses
        |--abc.jpg
        |--def.jpg
    |--dandelion
        |--ghi.jpg
        |--jkl.jpg

TensorFlow تصویر کی درجہ بندی الگورتھم کے ساتھ اندازہ

تیار کردہ ماڈلز کو انکوڈڈ .jpg، .jpeg، اور .png امیج فارمیٹس کے طور پر اندازہ لگانے اور سپورٹ کرنے کے لیے ہوسٹ کیا جا سکتا ہے۔ application/x-image مواد کی قسم. ان پٹ امیج کا سائز خود بخود بدل جاتا ہے۔ آؤٹ پٹ میں امکانات کی قدریں، تمام کلاسوں کے لیے کلاس لیبلز، اور سب سے زیادہ امکان کے ساتھ کلاس انڈیکس سے متعلق پیش گوئی شدہ لیبل، JSON فارمیٹ میں انکوڈ کیا گیا ہے۔ TensorFlow امیج کی درجہ بندی کا ماڈل فی درخواست ایک تصویر پر کارروائی کرتا ہے اور JSON میں صرف ایک لائن کو آؤٹ پٹ کرتا ہے۔ JSON میں جواب کی ایک مثال درج ذیل ہے:

accept: application/json;verbose

 {"probabilities": [prob_0, prob_1, prob_2, ...],
  "labels":        [label_0, label_1, label_2, ...],
  "predicted_label": predicted_label}

If accept کرنے کے لئے مقرر کیا گیا ہے application/json، پھر ماڈل صرف امکانات کو آؤٹ پٹ کرتا ہے۔ تربیت اور تخمینہ کے بارے میں مزید تفصیلات کے لیے، نمونہ نوٹ بک دیکھیں SageMaker TensorFlow کا تعارف - تصویری درجہ بندی.

JumpStart UI کے ذریعے SageMaker بلٹ ان الگورتھم استعمال کریں۔

آپ جمپ سٹارٹ UI کے ذریعے چند کلکس کے ساتھ SageMaker TensorFlow امیج کی درجہ بندی اور کسی دوسرے بلٹ ان الگورتھم کو بھی استعمال کر سکتے ہیں۔ جمپ سٹارٹ ایک سیج میکر خصوصیت ہے جو آپ کو گرافیکل انٹرفیس کے ذریعے مختلف ایم ایل فریم ورکس اور ماڈل ہب سے بلٹ ان الگورتھم اور پہلے سے تربیت یافتہ ماڈلز کو تربیت اور تعینات کرنے کی اجازت دیتی ہے۔ یہ آپ کو مکمل طور پر تیار کردہ ML حل تعینات کرنے کی بھی اجازت دیتا ہے جو ML ماڈلز اور مختلف دیگر AWS سروسز کو ایک دوسرے کے ساتھ سٹرنگ کرتے ہوئے ایک ہدف شدہ استعمال کے معاملے کو حل کرتے ہیں۔ اس کو دیکھو TensorFlow Hub اور Hugging Face ماڈل کا استعمال کرتے ہوئے Amazon SageMaker JumpStart کے ساتھ ٹیکسٹ کی درجہ بندی چلائیں۔ کچھ کلکس میں الگورتھم یا پہلے سے تربیت یافتہ ماڈل کو تربیت دینے کے لیے جمپ اسٹارٹ کا استعمال کیسے کریں۔

نتیجہ

اس پوسٹ میں، ہم نے SageMaker TensorFlow امیج کی درجہ بندی بلٹ ان الگورتھم کے آغاز کا اعلان کیا۔ ہم نے اس الگورتھم کا استعمال کرتے ہوئے TensorFlow Hub سے پہلے سے تربیت یافتہ ماڈل کا استعمال کرتے ہوئے کسٹم ڈیٹاسیٹ پر ٹرانسفر لرننگ کرنے کے طریقہ کے بارے میں مثالی کوڈ فراہم کیا۔ مزید معلومات کے لیے، چیک آؤٹ کریں۔ دستاویزات اور مثال کے طور پر نوٹ بک.


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

Transfer learning for TensorFlow image classification models in Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.ڈاکٹر آشیش کھیتان کے ساتھ ایک سینئر اپلائیڈ سائنٹسٹ ہے۔ ایمیزون سیج میکر بلٹ ان الگورتھم اور مشین لرننگ الگورتھم تیار کرنے میں مدد کرتا ہے۔ انہوں نے یونیورسٹی آف الینوائے اربانا-چمپین سے پی ایچ ڈی کی ڈگری حاصل کی۔ وہ مشین لرننگ اور شماریاتی اندازہ میں ایک فعال محقق ہے، اور اس نے NeurIPS، ICML، ICLR، JMLR، ACL، اور EMNLP کانفرنسوں میں بہت سے مقالے شائع کیے ہیں۔

Transfer learning for TensorFlow image classification models in Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.ڈاکٹر وویک مدن کے ساتھ ایک اپلائیڈ سائنٹسٹ ہے۔ ایمیزون سیج میکر جمپ اسٹارٹ ٹیم. اس نے اپنی پی ایچ ڈی یونیورسٹی آف الینوائے اربانا-چمپین سے حاصل کی اور جارجیا ٹیک میں پوسٹ ڈاکٹریٹ ریسرچر تھے۔ وہ مشین لرننگ اور الگورتھم ڈیزائن میں ایک فعال محقق ہے، اور اس نے EMNLP، ICLR، COLT، FOCS، اور SODA کانفرنسوں میں مقالے شائع کیے ہیں۔

Transfer learning for TensorFlow image classification models in Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.جواؤ مورا ایمیزون ویب سروسز میں ایک AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ زیادہ تر NLP کے استعمال کے معاملات پر توجہ مرکوز کرتا ہے اور صارفین کو گہری سیکھنے کے ماڈل کی تربیت اور تعیناتی کو بہتر بنانے میں مدد کرتا ہے۔ وہ کم کوڈ ایم ایل سلوشنز اور ایم ایل اسپیشلائزڈ ہارڈ ویئر کا ایک فعال حامی بھی ہے۔

Transfer learning for TensorFlow image classification models in Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.راجو پنماچا AWS میں ایک سینئر AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ تعلیم، حکومت اور غیر منفعتی صارفین کے ساتھ مشین لرننگ اور مصنوعی ذہانت سے متعلق منصوبوں پر کام کرتا ہے، اور AWS کا استعمال کرتے ہوئے حل تیار کرنے میں ان کی مدد کرتا ہے۔ گاہکوں کی مدد نہ کرنے پر، وہ نئی جگہوں پر سفر کرنا پسند کرتا ہے۔

ٹائم اسٹیمپ:

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