PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

PyTorch মডেল চিড়িয়াখানা ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন

উচ্চ-মানের, প্রশিক্ষিত মেশিন লার্নিং (ML) মডেলগুলি ব্যাচ বা রিয়েল-টাইম ইনফারেন্স সম্পাদন করার জন্য গ্রাহকদের কাছে মূল্য আনার একটি গুরুত্বপূর্ণ অংশ। যাইহোক, ML পরীক্ষা-নিরীক্ষার প্রক্রিয়া ক্লান্তিকর হতে পারে—এমন অনেক পন্থা রয়েছে যা বাস্তবায়নের জন্য উল্লেখযোগ্য পরিমাণ সময় প্রয়োজন। সেজন্য প্রাক-প্রশিক্ষিত এমএল মডেল যেমন দেওয়া আছে পাইটর্চ মডেল চিড়িয়াখানা তাই সহায়ক আমাজন সেজমেকার বিভিন্ন ML মডেলের সাথে পরীক্ষা করার জন্য একটি ইউনিফাইড ইন্টারফেস প্রদান করে, এবং PyTorch মডেল চিড়িয়াখানা আমাদের সহজে আমাদের মডেলগুলিকে একটি প্রমিত পদ্ধতিতে অদলবদল করতে দেয়।

এই ব্লগ পোস্টটি দেখায় কিভাবে SageMaker-এর মধ্যে PyTorch মডেল চিড়িয়াখানা থেকে একটি অবজেক্ট ডিটেকশন মডেল ব্যবহার করে ML অনুমান সম্পাদন করতে হয়। PyTorch মডেল চিড়িয়াখানা থেকে প্রাক-প্রশিক্ষিত ML মডেলগুলি তৈরি এবং সহজেই ML অ্যাপ্লিকেশনের অংশ হিসাবে ব্যবহার করা যেতে পারে। এই এমএল মডেলগুলিকে সেজমেকার এন্ডপয়েন্ট হিসাবে সেট আপ করা বা সেজমেকার ব্যাচ ট্রান্সফর্ম এই ব্লগ পোস্টে বর্ণিত ধাপগুলির মাধ্যমে অনলাইন বা অফলাইন অনুমানের জন্য কাজ করা সহজ। আমরা একটি ব্যবহার করব দ্রুত আর-সিএনএন অবজেক্ট ডিটেকশন মডেল পূর্ব-নির্ধারিত অবজেক্ট ক্লাসের জন্য বাউন্ডিং বাক্সের পূর্বাভাস দিতে।

দ্রুত আর-সিএনএন অবজেক্ট ডিটেকশন মডেলের ওজন লোড করা থেকে শুরু করে সেগুলিকে সংরক্ষণ করা পর্যন্ত আমরা একটি এন্ড-টু-এন্ড উদাহরণের মধ্য দিয়ে চলেছি অ্যামাজন সিম্পল স্টোরেজ সার্ভিস (অ্যামাজন এস 3) bucket, এবং একটি এন্ট্রিপয়েন্ট ফাইল লিখতে এবং PyTorchModel API-এর মূল পরামিতিগুলি বোঝার জন্য। অবশেষে, আমরা ML মডেলটি স্থাপন করব, SageMaker ব্যাচ ট্রান্সফর্ম ব্যবহার করে এটিতে অনুমান সম্পাদন করব এবং ML মডেলের আউটপুট পরিদর্শন করব এবং ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হবে তা শিখব। এই সমাধানটি PyTorch মডেল চিড়িয়াখানার অন্য কোনো প্রাক-প্রশিক্ষিত মডেলে প্রয়োগ করা যেতে পারে। উপলব্ধ মডেলের একটি তালিকার জন্য, দেখুন PyTorch মডেল চিড়িয়াখানা ডকুমেন্টেশন.

সমাধান ওভারভিউ

এই ব্লগ পোস্টটি নিম্নলিখিত পদক্ষেপের মধ্য দিয়ে যাবে। সমস্ত পদক্ষেপের একটি সম্পূর্ণ কার্যকরী সংস্করণের জন্য, দেখুন create_pytorch_model_sagemaker.ipynb

  • পদক্ষেপ 1: সেটআপ
  • ধাপ 2: পাইটর্চ মডেল চিড়িয়াখানা থেকে একটি এমএল মডেল লোড করা হচ্ছে
  • ধাপ 3 Amazon S3-এ ML মডেলের শিল্পকর্ম সংরক্ষণ এবং আপলোড করুন
  • ধাপ 4: এমএল মডেল ইনফারেন্স স্ক্রিপ্ট তৈরি করা
  • ধাপ 5: একটি SageMaker ব্যাচ ট্রান্সফর্ম কাজ চালু করা
  • ধাপ 6: ফলাফল ভিজ্যুয়ালাইজ করা

আর্কিটেকচার ডায়াগ্রাম

ডিরেক্টরি গঠন

এই ব্লগের কোড এই পাওয়া যাবে GitHub সংগ্রহস্থল. ML মডেলের আর্টিফ্যাক্ট তৈরি করতে, ট্রান্সফর্ম কাজ চালু করতে এবং ফলাফলগুলি কল্পনা করতে আমাদের যা কিছু দরকার তা কোডবেসে রয়েছে।

এই ওয়ার্কফ্লো আমরা ব্যবহার করি। নিম্নলিখিত সমস্ত পদক্ষেপগুলি এই কাঠামোর মডিউলগুলিকে উল্লেখ করবে।

sagemaker_pytorch_model_zoo --> root directory
    |- inference.py --> entry point file
    |- create_pytorch_model_sagemaker.ipynb --> walks through all steps in this blog post
    |- cars.jpg --> input image

সার্জারির sagemaker_torch_model_zoo ফোল্ডার থাকা উচিত inference.py একটি এন্ট্রিপয়েন্ট ফাইল হিসাবে, এবং Create_pytorch_model_sagemaker.ipynb মডেলের ওজন লোড এবং সংরক্ষণ করতে, একটি SageMaker মডেল অবজেক্ট তৈরি করুন এবং অবশেষে এটিকে একটি SageMaker ব্যাচ ট্রান্সফর্ম জব এ পাস করুন। আপনার নিজস্ব ML মডেল আনতে, নোটবুকের ধাপ 1: সেটআপ বিভাগে পাথগুলি পরিবর্তন করুন এবং ধাপ 2-এ একটি নতুন মডেল লোড করুন: PyTorch মডেল চিড়িয়াখানা বিভাগ থেকে একটি ML মডেল লোড করা হচ্ছে৷ নিচের বাকি ধাপগুলো একই থাকবে।

পদক্ষেপ 1: সেটআপ

IAM ভূমিকা

সেজমেকার সেজমেকার দ্বারা পরিচালিত অবকাঠামোর উপর ক্রিয়াকলাপ সম্পাদন করে। SageMaker শুধুমাত্র SageMaker-এর জন্য নোটবুকের সহগামী আইএএম এক্সিকিউশন ভূমিকায় সংজ্ঞায়িত অনুমিত ক্রিয়া সম্পাদন করতে পারে। IAM ভূমিকা তৈরি এবং IAM অনুমতিগুলি পরিচালনা করার বিষয়ে আরও বিস্তারিত ডকুমেন্টেশনের জন্য, দেখুন AWS SageMaker ভূমিকা ডকুমেন্টেশন. আমরা একটি নতুন ভূমিকা তৈরি করতে পারি, অথবা আমরা পেতে পারি সেজমেকার (স্টুডিও) নোটবুককোডের নিম্নলিখিত লাইনগুলি চালিয়ে এর ডিফল্ট এক্সিকিউশন ভূমিকা:

import sagemaker

session = sagemaker.Session()

# Set a default S3 bucket
default_bucket = session.default_bucket()

# Get the region
region = boto3.Session().region_name

# Get the SageMaker Execution Role
role_arn = sagemaker.get_execution_role()

উপরের কোডটি নোটবুকের উদাহরণের জন্য সেজমেকার কার্যকর করার ভূমিকা পায়। এটি হল আইএএম ভূমিকা যা আমরা আমাদের সেজমেকার বা সেজমেকার স্টুডিও নোটবুক উদাহরণের জন্য তৈরি করেছি।

ব্যবহারকারীর কনফিগারযোগ্য পরামিতি

আমাদের সেজমেকার ব্যাচ ট্রান্সফর্ম জব তৈরি এবং চালু করার জন্য প্রয়োজনীয় সমস্ত কনফিগারযোগ্য পরামিতি এখানে রয়েছে:

INSTANCE_TYPE= "ml.m5.xlarge"
INSTANCE_COUNT= 1
BUCKET = os.path.join("s3://", default_bucket)

DATA_PATH= os.path.join(BUCKET, "images")
IMAGE_NAME = "cars.jpg"
RANDOM_STRING_LENGTH= 16
MODEL_NAME= "FasterRCNNResnet50"

# Needs to be set to version 1.2 or higher to enable automatic PyTorch model repackaging
FRAMEWORK_VERSION= "1.2"
ENTRY_POINT_FILE_NAME= "inference.py"

SAGEMAKER_EXECUTION_ROLE_ARN= role_arn
MODEL_ARTIFACTS_FILE_NAME= os.path.join(BUCKET, "modelzoo/fasterrcnn_resnet50_fpn/model.tar.gz")
IMAGE_URI= sagemaker.image_uris.retrieve(framework="pytorch",
region=region,
version="1.9.1",
py_version="py38",
image_scope='inference',
instance_type=INSTANCE_TYPE)

ধাপ 2: পাইটর্চ মডেল চিড়িয়াখানা থেকে একটি এমএল মডেল লোড করা হচ্ছে

এর পরে, আমরা পাইটর্চ মডেল চিড়িয়াখানা থেকে একটি বস্তু সনাক্তকরণ মডেল নির্দিষ্ট করি এবং এর এমএল মডেলের ওজন সংরক্ষণ করি। সাধারণত, আমরা .pt বা .pth ফাইল এক্সটেনশন ব্যবহার করে একটি PyTorch মডেল সংরক্ষণ করি। নীচের কোড স্নিপেটটি PyTorch মডেল চিড়িয়াখানা থেকে একটি প্রাক-প্রশিক্ষিত দ্রুত R-CNN ResNet50 ML মডেল ডাউনলোড করে:

মডেল = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)

SageMaker ব্যাচ ট্রান্সফর্ম ইনপুট হিসাবে কিছু মডেল ওজন প্রয়োজন, তাই আমরা মডেল.pt হিসাবে প্রাক-প্রশিক্ষিত ML মডেল সংরক্ষণ করব। আমরা যদি একটি কাস্টম মডেল লোড করতে চাই, আমরা পরিবর্তে মডেল.pt হিসাবে অন্য PyTorch মডেল থেকে মডেলের ওজন সংরক্ষণ করতে পারি।

H = 1080
W = 1920
scripted_fn = torch.jit.script(model, torch.randn(1, 3, H, W))
scripted_fn.save("model.pt")

ধাপ 3: Amazon S3 এ ML মডেলের শিল্পকর্মগুলি সংরক্ষণ এবং আপলোড করুন৷

যেহেতু আমরা ML অনুমানের জন্য SageMaker ব্যবহার করব, তাই আমাদের একটি S3 বালতিতে মডেলের ওজন আপলোড করতে হবে। আমরা নিম্নলিখিত কমান্ডগুলি ব্যবহার করে বা ডাউনলোড করে এবং ফাইলটিকে সরাসরি S3 এ টেনে এনে ফেলে দিয়ে এটি করতে পারি। নিম্নলিখিত কমান্ডগুলি প্রথমে ফাইলগুলির গ্রুপকে সংকুচিত করবে model.pt একটি টারবলে এবং আমাদের স্থানীয় মেশিন থেকে S3 বালতিতে মডেলের ওজন কপি করুন।

বিঃদ্রঃ: নিম্নলিখিত কমান্ড চালানোর জন্য, আপনার থাকতে হবে AWS কমান্ড লাইন ইন্টারফেস (AWS CLI) ইনস্টল করা নেই।

tar -czvf model.tar.gz model.pt
aws s3 cp model.tar.gz $MODEL_ARTIFACTS_FILE_NAME

এর পরে, আমরা আমাদের ইনপুট চিত্রটি S3 এ অনুলিপি করি। নীচে ছবির জন্য সম্পূর্ণ S3 পাথ আছে।

car_image_path = os.path.join(DATA_PATH, IMAGE_NAME)

আমরা অন্য aws s3 cp কমান্ডের সাহায্যে এই ছবিটিকে S3 এ কপি করতে পারি।

aws s3 cp cars.jpg $car_image_path

ধাপ 4: এমএল মডেল ইনফারেন্স স্ক্রিপ্ট তৈরি করা

এখন আমরা আমাদের এন্ট্রিপয়েন্ট ফাইলের উপর যাব, inference.py মডিউল আমরা PyTorchModel ক্লাস ব্যবহার করে SageMaker এর বাইরে প্রশিক্ষিত একটি PyTorch মডেল স্থাপন করতে পারি। প্রথমত, আমরা PyTorchModelZoo অবজেক্টটি ইনস্ট্যান্টিয়েট করি। তারপরে আমরা Amazon S3-এ হোস্ট করা নমুনা ডেটাতে SageMaker ব্যাচ ট্রান্সফর্ম ব্যবহার করে ML অনুমান করার জন্য একটি inference.py এন্ট্রিপয়েন্ট ফাইল তৈরি করব।

PyTorchModel অবজেক্ট বোঝা

সার্জারির পাইটর্চ মডেল SageMaker Python API-এর মধ্যে ক্লাস আমাদের ডাউনলোড করা মডেল আর্টিফ্যাক্ট ব্যবহার করে ML অনুমান সম্পাদন করতে দেয়।

PyTorchModel ক্লাস শুরু করতে, আমাদের নিম্নলিখিত ইনপুট পরামিতিগুলি বুঝতে হবে:

  • name: ণশড; আমরা মডেল নাম + তারিখ সময়, অথবা একটি র্যান্ডম স্ট্রিং + অনন্যতার জন্য তারিখ সময় ব্যবহার করার সুপারিশ করি।
  • model_data: প্যাকেজ করা ML মডেল আর্টিফ্যাক্টের S3 URI।
  • entry_point: একটি ব্যবহারকারী-সংজ্ঞায়িত পাইথন ফাইল ইনফারেন্স ডকার ইমেজ দ্বারা ইনকামিং অনুরোধের জন্য হ্যান্ডলারকে সংজ্ঞায়িত করতে ব্যবহার করা হবে। কোড মডেল লোডিং, ইনপুট প্রিপ্রসেসিং, ভবিষ্যদ্বাণী যুক্তি, এবং আউটপুট পোস্ট-প্রসেসিং সংজ্ঞায়িত করে।
  • framework_version: স্বয়ংক্রিয় PyTorch মডেল রিপ্যাকেজিং সক্ষম করতে 1.2 বা উচ্চতর সংস্করণে সেট করা প্রয়োজন৷
  • source_dir: entry_point ফাইলের ডিরেক্টরি।
  • role: AWS পরিষেবার অনুরোধ করতে একটি IAM ভূমিকা৷
  • image_uri: ML মডেল কম্পিউট এনভায়রনমেন্টের ভিত্তি হিসেবে এই Amazon ECR ডকার কন্টেইনার ইমেজ ব্যবহার করুন।
  • sagemaker_session: সেজমেকার সেশন।
  • py_version: পাইথন সংস্করণ ব্যবহার করতে হবে

নিম্নোক্ত কোড স্নিপেটটি PyTorchModel ক্লাসকে প্রাক-প্রশিক্ষিত PyTorch মডেল ব্যবহার করে অনুমান সঞ্চালনের জন্য তাত্ক্ষণিক করে:

model = PyTorchModel(
               name=RANDOM_STRING,
               model_data=MODEL_ARTIFACTS_FILE_NAME,
               entry_point=ENTRY_POINT_FILE_NAME,
               framework_version=FRAMEWORK_VERSION,
               role=SAGEMAKER_EXECUTION_ROLE_ARN,
               sagemaker_session=sagemaker_session,
               image_uri=IMAGE_URI,
        )

এন্ট্রিপয়েন্ট ফাইলটি বোঝা (inference.py)

entry_point প্যারামিটার একটি Python ফাইলের দিকে নির্দেশ করে inference.py. এই এন্ট্রিপয়েন্ট মডেল লোডিং, ইনপুট প্রিপ্রসেসিং, ভবিষ্যদ্বাণী যুক্তি, এবং আউটপুট পোস্ট-প্রসেসিং সংজ্ঞায়িত করে। এটি প্রিবিল্ট পাইটর্চে এমএল মডেল সার্ভিং কোডের পরিপূরক সেজমেকার ডিপ লার্নিং কন্টেইনার চিত্র।

Inference.py নিম্নলিখিত ফাংশন থাকবে. আমাদের উদাহরণে, আমরা বাস্তবায়ন করি model_fn, input_fn, predict_fn এবং output_fn ওভাররাইড করার ফাংশন ডিফল্ট PyTorch ইনফারেন্স হ্যান্ডলার.

  1. model_fn: অনুমান চিত্রে স্ট্যাটিক মডেল চেকপয়েন্ট ধারণকারী একটি ডিরেক্টরিতে নেয়। একটি নির্দিষ্ট পথ থেকে মডেলটি খোলে এবং লোড করে এবং একটি PyTorch মডেল ফেরত দেয়।
  2. input_fn: ইনকামিং রিকোয়েস্টের পেলোড (request_body) এবং ইনপুট হিসাবে একটি ইনকামিং রিকোয়েস্টের কন্টেন্ট টাইপ (request_content_type) নেয়। ডেটা ডিকোডিং পরিচালনা করে। মডেলটি কী ইনপুট আশা করছে তার জন্য এই ফাংশনটি সামঞ্জস্য করা দরকার৷
  3. predict_fn: input_fn-এ ডিসিরিয়ালাইজ করা ডেটার একটি মডেলকে কল করে। লোড করা এমএল মডেলের সাথে ডিসিরিয়ালাইজড অবজেক্টে ভবিষ্যদ্বাণী করে।
  4. output_fn: ভবিষ্যদ্বাণী ফলাফলকে পছন্দসই প্রতিক্রিয়া বিষয়বস্তুর প্রকারে সিরিয়ালাইজ করে। predict_fn ফাংশন থেকে প্রাপ্ত ভবিষ্যদ্বাণীগুলিকে JSON, CSV, বা NPY ফর্ম্যাটে রূপান্তরিত করে৷

ধাপ 5: একটি SageMaker ব্যাচ ট্রান্সফর্ম কাজ চালু করা

এই উদাহরণের জন্য, আমরা একটি SageMaker ব্যাচ ট্রান্সফর্ম কাজের মাধ্যমে ML অনুমান ফলাফল পাব। ব্যাচ ট্রান্সফর্ম কাজগুলি সবচেয়ে দরকারী যখন আমরা একটি স্থায়ী শেষ পয়েন্টের প্রয়োজন ছাড়াই একবার ডেটাসেট থেকে অনুমানগুলি পেতে চাই। আমরা একটি তাত্ক্ষণিক sagemaker.transformer.Transformer SageMaker ব্যাচ ট্রান্সফর্ম জব তৈরি এবং ইন্টারঅ্যাক্ট করার জন্য অবজেক্ট।

transformer = model.transformer(instance_type=INSTANCE_TYPE, 
                                instance_count=INSTANCE_COUNT
                                )
transformer.transform(data=DATA_PATH,
                      data_type="S3Prefix",
                      content_type="application/x-image",
                      wait=True
                      )

একটি ব্যাচ ট্রান্সফর্ম কাজ তৈরির জন্য ডকুমেন্টেশন দেখুন ট্রান্সফর্ম জব তৈরি করুন.

ধাপ 6: টেসাল্ট ভিজ্যুয়ালাইজ করা

SageMaker ব্যাচ ট্রান্সফর্ম কাজ শেষ হয়ে গেলে, আমরা Amazon S3 থেকে ML ইনফারেন্স আউটপুট লোড করতে পারি। এই জন্য, নেভিগেট এডাব্লুএস ম্যানেজমেন্ট কনসোল এবং Amazon SageMaker অনুসন্ধান করুন। বাম প্যানেলে, নীচে অনুমিতিদেখুন ব্যাচ রূপান্তর কাজ.

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

নির্বাচন করার পরে ব্যাচ রূপান্তর, সমস্ত SageMaker ব্যাচ ট্রান্সফর্ম কাজের তালিকার ওয়েবপৃষ্ঠা দেখুন। আমরা আমাদের সবচেয়ে সাম্প্রতিক চাকরি সম্পাদনের অগ্রগতি দেখতে পারি।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

প্রথমত, চাকরির স্ট্যাটাস থাকবে "InProgress"। একবার এটি সম্পন্ন হলে, স্থিতিটি সম্পূর্ণ হয়ে গেছে দেখুন।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

স্ট্যাটাসটি সম্পূর্ণ হিসাবে চিহ্নিত হয়ে গেলে, আমরা ফলাফল দেখতে কাজের উপর ক্লিক করতে পারি। এই ওয়েবপৃষ্ঠাটিতে কাজের সারাংশ রয়েছে, যার মধ্যে আমরা এইমাত্র যে কাজটি সম্পাদন করেছি তার কনফিগারেশন সহ।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

অধীনে আউটপুট ডেটা কনফিগারেশন, আমরা একটি S3 আউটপুট পাথ দেখতে পাব। এখানেই আমরা আমাদের ML ইনফারেন্স আউটপুট পাব।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

S3 আউটপুট পাথ নির্বাচন করুন এবং আমাদের আউটপুট ডেটা সহ একটি [image_name] [file_type].out ফাইল দেখুন। আমাদের আউটপুট ফাইলে ম্যাপিংয়ের একটি তালিকা থাকবে। উদাহরণ আউটপুট:

[
  {
    "boxes": [
      [
        214.32322692871094,
        192.18418884277344,
        830.3932495117188,
        521.6996459960938
      ],
      [
        235.6244354248047,
        301.3315734863281,
        253.6448516845703,
        312.3525695800781
      ],
      [
        183.92031860351562,
        291.7759704589844,
        207.28196716308594,
        312.1448669433594
      ],
    ],
    "labels": [
      3,
      3,
      9,
    ],
    "scores": [
      0.8823906183242798,
      0.7710548639297485,
      0.4969744384288788,
    ]
  }
]

এই ভবিষ্যদ্বাণীগুলি কল্পনা করার জন্য, আমরা প্রথমে আমাদের ট্রান্সফরমার অবজেক্ট থেকে আউটপুট পথটি পড়ি।

def get_output_from_s3(s3uri, file_name):
    parsed_url = urlparse(s3uri)
    bucket_name = parsed_url.netloc
    prefix = parsed_url.path[1:]
    s3 = boto3.resource('s3')
    obj = s3.Object(bucket_name, '{}/{}'.format(prefix, file_name))
    return obj.get()["Body"].read().decode('utf-8')
    
# Output path from Batch Transform job
output_path = transformer.output_path

# Get the output file from S3
predictions = get_output_from_s3(output_path, "car.jpg.out")

এর পরে, আমরা এই আউটপুট ফাইলটি প্রক্রিয়া করি এবং আমাদের পূর্বাভাসগুলি কল্পনা করি। নীচে আমরা আমাদের আত্মবিশ্বাসের থ্রেশহোল্ড নির্দিষ্ট করি৷ আমরা থেকে ক্লাসের তালিকা পেতে COCO ডেটাসেট অবজেক্ট ম্যাপিং। অনুমানের সময়, মডেলের জন্য শুধুমাত্র ইনপুট টেনসরের প্রয়োজন হয় এবং প্রতিটি ইনপুট ইমেজের জন্য একটি তালিকা[Dict[টেনসর]] হিসাবে পোস্ট-প্রসেসড ভবিষ্যদ্বাণী প্রদান করে। ডিক্টের ক্ষেত্রগুলি নিম্নরূপ, যেখানে N হল সনাক্তকরণের সংখ্যা:

  1. বাক্সগুলি (ফ্লোটটেনসর[N, 4]): পূর্বাভাসিত বাক্সগুলি [x1, y1, x2, y2] বিন্যাস, সহ 0 <= x1 < x2 <= W and 0 <= y1 < y2 <= H, কোথায় W চিত্রের প্রস্থ এবং H ছবির উচ্চতা
  2. লেবেল (Int64Tensor[N]): প্রতিটি সনাক্তকরণের জন্য পূর্বাভাসিত লেবেল
  3. স্কোর (Tensor[N]): প্রতিটি সনাক্তকরণের জন্য পূর্বাভাসের স্কোর

আউটপুট সম্পর্কে আরো বিস্তারিত জানার জন্য, পড়ুন PyTorch দ্রুত R-CNN FPN ডকুমেন্টেশন.

মডেল আউটপুটে নিজ নিজ আত্মবিশ্বাসের স্কোর সহ বাউন্ডিং বাক্স রয়েছে। আমরা বাউন্ডিং বাক্সগুলি সরিয়ে মিথ্যা ইতিবাচক প্রদর্শনকে অপ্টিমাইজ করতে পারি যার জন্য মডেলটি আত্মবিশ্বাসী নয়৷ নিম্নলিখিত কোড স্নিপেটগুলি আউটপুট ফাইলের ভবিষ্যদ্বাণীগুলি প্রক্রিয়া করে এবং ভবিষ্যদ্বাণীগুলির উপর বাউন্ডিং বাক্সগুলি আঁকে যেখানে স্কোরটি আমাদের আত্মবিশ্বাসের থ্রেশহোল্ডের উপরে। আমরা সম্ভাব্যতা থ্রেশহোল্ড সেট করি, CONF_THRESH, থেকে .75 এই উদাহরণের জন্য.

def procress_batch_transform_output(predictions):
    predictions = eval(predictions)
    for pred in predictions[1:]:
        pred = pred[0]
        boxes = np.array(pred["boxes"])
        labels = np.array(pred["labels"])
        scores = np.array(pred["scores"])

        scores_idx = scores >= CONF_THRESH
        boxes_meet = boxes[scores_idx, :]
        labels_meet = labels[scores_idx]
        scores_meet = scores[scores_idx]

        labels_str = [CLASSES[i] for i in labels_meet]
        
        # Return a tuple containing labels, label index, score, and bounding box
        processed_predictions =  list(zip(labels_str, labels_meet, scores_meet, boxes_meet))
        return processed_predictions
    
    
def visualize_batch_transform_output(input_image, processed_predictions):
    # read input image from computer
    img = read_image(input_image)
    for label, label_index, score, box in processed_predictions:
        label = label + ", score: " + str(round(score, 2))
        # draw bounding box and fill color
        box = torch.tensor(box)
        box = box.unsqueeze(0)
        img = draw_bounding_boxes(img, box, width=5,labels=[label], font_size=16)

    # transform this image to PIL image
    img = torchvision.transforms.ToPILImage()(img)

    # display output
    img.show()

# Process the predictions in the output file
processed_predictions = procress_batch_transform_output(predictions)
visualize_batch_transform_output("car.jpg", processed_predictions)

অবশেষে, আমরা আমাদের আউটপুট বোঝার জন্য এই ম্যাপিংগুলিকে কল্পনা করি।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.

বিঃদ্রঃ: যদি ছবিটি আপনার নোটবুকে প্রদর্শিত না হয়, তাহলে অনুগ্রহ করে JupyterLab-এর বাম দিকের ডিরেক্টরি ট্রিতে এটি সনাক্ত করুন এবং সেখান থেকে এটি খুলুন৷

উদাহরণ কোড চলমান

একটি সম্পূর্ণ কাজের উদাহরণের জন্য, কোডটি ক্লোন করুন amazon-sagemaker-উদাহরণ GitHub এবং কোষ চালান create_pytorch_model_sagemaker.ipynb নোটবই.

উপসংহার

এই ব্লগ পোস্টে, আমরা SageMaker ব্যাচ ট্রান্সফর্ম ব্যবহার করে PyTorch মডেল চিড়িয়াখানা থেকে একটি অবজেক্ট ডিটেকশন মডেল ব্যবহার করে ML অনুমান সম্পাদন করার একটি এন্ড-টু-এন্ড উদাহরণ প্রদর্শন করেছি। আমরা দ্রুত R-CNN অবজেক্ট ডিটেকশন মডেলের ওজন লোড করা, একটি S3 বালতিতে সেভ করা, একটি এন্ট্রিপয়েন্ট ফাইল লেখা এবং PyTorchModel API-এর মূল প্যারামিটারগুলি বোঝার বিষয়গুলি কভার করেছি৷ অবশেষে, আমরা মডেলটি স্থাপন করেছি এবং ML মডেল অনুমান সম্পাদন করেছি, মডেল আউটপুটটি কল্পনা করেছি এবং ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হয় তা শিখেছি।


লেখক সম্পর্কে

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.দীপিকা খুল্লার তে একজন এমএল ইঞ্জিনিয়ার অ্যামাজন এমএল সলিউশন ল্যাব. তিনি গ্রাহকদের তাদের ব্যবসায়িক সমস্যা সমাধানের জন্য এমএল সমাধান একীভূত করতে সাহায্য করেন। অতি সম্প্রতি, তিনি মিডিয়া গ্রাহকদের জন্য প্রশিক্ষণ এবং অনুমান পাইপলাইন এবং বিপণনের জন্য ভবিষ্যদ্বাণীমূলক মডেল তৈরি করেছেন।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.মার্সেলো আবেরলে AWS AI সংস্থার একজন এমএল ইঞ্জিনিয়ার। তিনি MLOps প্রচেষ্টার নেতৃত্ব দিচ্ছেন অ্যামাজন এমএল সলিউশন ল্যাব, গ্রাহকদের পরিমাপযোগ্য ML সিস্টেম ডিজাইন এবং বাস্তবায়নে সহায়তা করে। তার লক্ষ্য হল গ্রাহকদের তাদের এন্টারপ্রাইজ এমএল যাত্রায় গাইড করা এবং উৎপাদনে তাদের এমএল পথকে ত্বরান্বিত করা।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.নিনাদ কুলকার্নি একটি ফলিত বিজ্ঞানী অ্যামাজন এমএল সলিউশন ল্যাব. তিনি গ্রাহকদের তাদের ব্যবসায়িক সমস্যা সমাধানের জন্য সমাধান তৈরি করে ML এবং AI গ্রহণ করতে সাহায্য করেন। অতি সম্প্রতি, তিনি খেলাধুলা, স্বয়ংচালিত এবং মিডিয়া গ্রাহকদের জন্য ভবিষ্যদ্বাণীমূলক মডেল তৈরি করেছেন।

PyTorch মডেল Zoo PlatoBlockchain ডেটা ইন্টেলিজেন্স ব্যবহার করে Amazon SageMaker মডেল তৈরি করুন। উল্লম্ব অনুসন্ধান. আ.যশ শাহ একটি বিজ্ঞান ব্যবস্থাপক আমাজন এমএল সলিউশন ল্যাব। তিনি এবং তার ফলিত বিজ্ঞানী এবং এমএল ইঞ্জিনিয়ারদের দল স্বাস্থ্যসেবা, খেলাধুলা, স্বয়ংচালিত এবং উত্পাদন থেকে এমএল ব্যবহারের ক্ষেত্রে কাজ করে।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

QLoRA ব্যবহার করে Amazon SageMaker স্টুডিও নোটবুকে Falcon-40B এবং অন্যান্য LLMগুলি ইন্টারেক্টিভভাবে সূক্ষ্ম-টিউন করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1853992
সময় স্ট্যাম্প: জুন 29, 2023

LLM সহ Amazon Lex উন্নত করুন এবং URL ইনজেশন ব্যবহার করে প্রায়শই জিজ্ঞাসিত প্রশ্নের অভিজ্ঞতা উন্নত করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1862206
সময় স্ট্যাম্প: জুলাই 18, 2023

পিজিএ ট্যুরের জেনারেটিভ এআই ভার্চুয়াল সহকারীর যাত্রা, ধারণা থেকে বিকাশ পর্যন্ত প্রোটোটাইপ পর্যন্ত | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1956285
সময় স্ট্যাম্প: মার্চ 14, 2024