অটোএমএল ভিশন এজ সহ একটি চিত্র লেবেলিং মডেলকে প্রশিক্ষণ দিন

একটি ইমেজ লেবেলিং মডেল প্রশিক্ষিত করতে, আপনি ইমেজ এবং সংশ্লিষ্ট লেবেলগুলির একটি সেট সহ AutoML Vision Edge প্রদান করেন। AutoML Vision Edge এই ডেটাসেটটি ব্যবহার করে ক্লাউডে একটি নতুন মডেলকে প্রশিক্ষণ দিতে, যা আপনি আপনার অ্যাপে ডিভাইসে ইমেজ লেবেলিংয়ের জন্য ব্যবহার করতে পারেন। (দেখুন সংক্ষিপ্ত বিবরণ এই বৈশিষ্ট্য সম্বন্ধে সাধারণ তথ্যের জন্য।)

AutoML ভিশন এজ একটি Google মেঘ সেবা। পরিষেবার ব্যবহার সাপেক্ষে Google ক্লাউড প্ল্যাটফর্ম লাইসেন্স এগ্রিমেন্ট এবং পরিষেবা নির্দিষ্ট শর্তাদি , এবং সেই অনুযায়ী বিল। তথ্য বিলিং-এর জন্য, AutoML দেখতে প্রাইসিং পাতা।

তুমি শুরু করার আগে

1. আপনার প্রশিক্ষণ তথ্য একত্রিত করুন

প্রথমত, আপনাকে লেবেলযুক্ত চিত্রগুলির একটি প্রশিক্ষণ ডেটাসেট একসাথে রাখতে হবে। নিম্নলিখিত নির্দেশিকা মনে রাখবেন:

  • ছবিগুলি অবশ্যই নিম্নলিখিত ফর্ম্যাটে হতে হবে: JPEG, PNG, GIF, BMP, ICO৷

  • প্রতিটি ছবি 30MB বা ছোট হতে হবে। মনে রাখবেন যে অটোএমএল ভিশন এজ প্রি-প্রসেসিংয়ের সময় বেশিরভাগ ছবিকে ডাউনস্কেল করে, তাই খুব উচ্চ রেজোলিউশনের ছবিগুলি প্রদান করার জন্য সাধারণত কোনও নির্ভুলতা সুবিধা নেই।

  • প্রতিটি লেবেলের উদাহরণ কমপক্ষে 10টি এবং পছন্দের 100টি বা তার বেশি অন্তর্ভুক্ত করুন।

  • প্রতিটি লেবেলের জন্য একাধিক কোণ, রেজোলিউশন এবং ব্যাকগ্রাউন্ড অন্তর্ভুক্ত করুন।

  • প্রশিক্ষণের ডেটা যতটা সম্ভব সেই ডেটার কাছাকাছি হওয়া উচিত যার উপর ভবিষ্যদ্বাণী করা হবে। উদাহরণস্বরূপ, যদি আপনার ব্যবহারের ক্ষেত্রে ঝাপসা এবং কম-রেজোলিউশনের ছবি (যেমন একটি নিরাপত্তা ক্যামেরা থেকে) জড়িত থাকে, তাহলে আপনার প্রশিক্ষণের ডেটা অস্পষ্ট, কম-রেজোলিউশনের ছবি দিয়ে তৈরি হওয়া উচিত।

  • অটোএমএল ভিশন এজ দ্বারা উত্পন্ন মডেলগুলি বাস্তব বিশ্বের বস্তুর ফটোগ্রাফের জন্য অপ্টিমাইজ করা হয়েছে৷ তারা এক্স-রে, হাতের অঙ্কন, স্ক্যান করা নথি, রসিদ ইত্যাদির জন্য ভাল কাজ নাও করতে পারে।

    এছাড়াও, মডেলগুলি সাধারণত লেবেলগুলির পূর্বাভাস দিতে পারে না যা মানুষ বরাদ্দ করতে পারে না। সুতরাং, যদি একজন মানুষ 1-2 সেকেন্ডের জন্য চিত্রটি দেখে লেবেল বরাদ্দ করতে না পারে, তাহলে মডেলটিকে সম্ভবত এটি করার জন্য প্রশিক্ষিত করা যাবে না।

আপনার প্রশিক্ষণের ছবি প্রস্তুত হলে, সেগুলিকে Firebase-এ আমদানি করার জন্য প্রস্তুত করুন। আপনার তিনটি বিকল্প আছে:

বিকল্প 1: স্ট্রাকচার্ড জিপ আর্কাইভ

আপনার প্রশিক্ষণের চিত্রগুলিকে ডিরেক্টরিতে সংগঠিত করুন, প্রতিটি একটি লেবেলের নামে নামকরণ করা হয়েছে এবং সেই লেবেলের উদাহরণগুলি এমন চিত্র রয়েছে। তারপরে, একটি জিপ সংরক্ষণাগারে ডিরেক্টরি কাঠামো সংকুচিত করুন।

এই পিন সংরক্ষণাগারে ডিরেক্টরির নাম দীর্ঘ 32 ASCII অক্ষর পর্যন্ত হতে পারে এবং শুধুমাত্র আলফানিউমেরিক অক্ষর এবং আন্ডারস্কোর অক্ষর (ধারণ করতে পারে _ )।

উদাহরণ স্বরূপ:

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

বিকল্প 2: CSV সূচক সহ ক্লাউড স্টোরেজ

আপনার প্রশিক্ষণ ইমেজ আপলোড করুন Google মেঘ সংগ্রহস্থল প্রতিটি ইমেজ জন্য সঠিক লেবেল ও একটি CSV ফাইল প্রতিটি ইমেজ URL টি তালিকা প্রস্তুত, এবং, ঐচ্ছিকরূপে। খুব বড় ডেটাসেট ব্যবহার করার সময় এই বিকল্পটি সহায়ক।

উদাহরণস্বরূপ, ক্লাউড স্টোরেজে আপনার ছবি আপলোড করুন এবং নিচের মত একটি CSV ফাইল প্রস্তুত করুন:

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

ছবিগুলিকে একটি বালতিতে সংরক্ষণ করতে হবে যা আপনার Firebase প্রকল্পের সংশ্লিষ্ট Google ক্লাউড প্রকল্পের অংশ।

দেখুন আপনার প্রশিক্ষণ ডেটা প্রস্তুতি CSV ফাইল প্রস্তুতি সম্পর্কে আরও তথ্যের জন্য ক্লাউড AutoML ভিশন ডকুমেন্টেশনে।

বিকল্প 3: লেবেলবিহীন ছবি

আপনার প্রশিক্ষণের ছবিগুলিকে আপলোড করার পরে Firebase কনসোলে লেবেল দিন, হয় পৃথকভাবে বা একটি অসংগঠিত জিপ ফাইলে। পরবর্তী ধাপ দেখুন.

2. আপনার মডেল প্রশিক্ষণ

এরপরে, আপনার ছবি ব্যবহার করে একটি মডেলকে প্রশিক্ষণ দিন:

  1. খুলুন ভিশন ডেটাসেটস Google মেঘ কনসোলে পাতা। অনুরোধ করা হলে আপনার প্রকল্প নির্বাচন করুন.

  2. , নিউ ডেটা সেটটি ক্লিক করুন ডেটা সেটটি জন্য একটি নাম প্রদান, মডেল আপনি যে প্রকারের ট্রেন করতে চান নির্বাচন করুন, এবং ডেটা সেটটি তৈরি করুন এ ক্লিক করুন।

  3. আপনার ডেটা সেটটি এর আমদানি ট্যাবে, আপনার প্রশিক্ষণ ছবি একটি zip সংরক্ষণাগার বা একটি CSV ক্লাউড স্টোরেজ অবস্থানে আপনি তাদের আপলোড করা ফাইল পারেন আপলোড করুন। দেখুন আপনার প্রশিক্ষণ ডেটা একত্র

  4. আমদানি টাস্ক সম্পূর্ণ হওয়ার পর, প্রশিক্ষণ ডেটা যাচাই করতে চিত্র ট্যাব ব্যবহার এবং কোন লেবেল নেই চিত্র লেবেল।

  5. ট্রেন ট্যাবে, স্টার্ট প্রশিক্ষণ ক্লিক করুন।

    1. মডেলের নাম এবং এজ মডেল প্রকার নির্বাচন করুন।

    2. নিম্নলিখিত প্রশিক্ষণ সেটিংস কনফিগার করুন, যা জেনারেট করা মডেলের কর্মক্ষমতা নিয়ন্ত্রণ করে:

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

      সর্বাধিক সময়, গণনা ঘন্টা, মডেল প্রশিক্ষণ ব্যয়. আরো প্রশিক্ষণ সময় সাধারণত একটি আরো সঠিক মডেল ফলাফল.

      মনে রাখবেন যে প্রশিক্ষণটি নির্দিষ্ট সময়ের চেয়ে কম সময়ে সম্পন্ন করা যেতে পারে যদি সিস্টেমটি নির্ধারণ করে যে মডেলটি অপ্টিমাইজ করা হয়েছে এবং অতিরিক্ত প্রশিক্ষণ সঠিকতা উন্নত করবে না। আপনি শুধুমাত্র বাস্তবে ব্যবহৃত ঘন্টার জন্য বিল করা হয়.

      সাধারণ প্রশিক্ষণের সময়
      খুব ছোট সেট 1 ঘন্টা
      500টি ছবি ২ ঘন্টা
      1,000 ছবি 3 ঘন্টা
      5,000 ছবি 6 ঘন্টা
      10,000 ছবি 7 ঘন্টা
      50,000 ছবি 11 ঘন্টা
      100,000 ছবি 13 ঘন্টা
      1,000,000 ছবি 18 ঘন্টা

3. আপনার মডেল মূল্যায়ন

যখন সম্পন্ন হয়ে প্রশিক্ষণ, আপনি ট্যাব মডেল জন্য কর্মক্ষমতা বৈশিষ্ট্যের মান দেখতে মূল্যনির্ধারণ ক্লিক করতে পারেন।

এই পৃষ্ঠার একটি গুরুত্বপূর্ণ ব্যবহার হল আপনার মডেলের জন্য সর্বোত্তম কাজ করে এমন কনফিডেন্স থ্রেশহোল্ড নির্ধারণ করা। কনফিডেন্স থ্রেশহোল্ড হল ন্যূনতম আত্মবিশ্বাস যা মডেলটির একটি ছবিতে একটি লেবেল বরাদ্দ করার জন্য থাকা আবশ্যক৷ কনফিডেন্স থ্রেশহোল্ড স্লাইডার সরিয়ে, আপনি দেখতে পারেন কিভাবে বিভিন্ন প্রান্তিক মান মডেল এর পারফরম্যান্সের প্রভাবিত। স্পষ্টতা এবং রিকল: মডেল কর্মক্ষমতা দুই বৈশিষ্ট্যের মান ব্যবহার পরিমাপ করা হয়।

ইমেজ শ্রেণীবিন্যাস প্রসঙ্গে, স্পষ্টতা ইমেজ সংখ্যা সঠিকভাবে ইমেজ সংখ্যা মডেল নির্বাচিত থ্রেশহোল্ড দেওয়া লেবেল থেকে লেবেল করা হয় অনুপাত। যখন একটি মডেলের উচ্চ নির্ভুলতা থাকে, তখন এটি লেবেলগুলিকে ভুলভাবে কম প্রায়ই বরাদ্দ করে (কম মিথ্যা ইতিবাচক)।

রিকল ইমেজ সংখ্যা সঠিকভাবে ইমেজ বিষয়বস্তু মডেল লেবেল করতে সক্ষম হওয়া উচিত ছিল ছিল সংখ্যা দিয়ে লেবেল করা হয় অনুপাত। যখন একটি মডেলের উচ্চ প্রত্যাহার থাকে, তখন এটি কোন লেবেল কম প্রায়ই বরাদ্দ করতে ব্যর্থ হয় (কম মিথ্যা নেতিবাচক)।

আপনি নির্ভুলতার জন্য অপ্টিমাইজ করবেন বা রিকল আপনার ব্যবহারের ক্ষেত্রে নির্ভর করবে। দেখুন AutoML ভিশন নতুনদের 'পথ প্রদর্শক এবং AutoML - সমেত এমএল নির্দেশিকা আরও তথ্যের জন্য।

যখন আপনি একটি আত্মবিশ্বাস থ্রেশহোল্ড খুঁজে পান যা মেট্রিক্স তৈরি করে যার সাথে আপনি স্বাচ্ছন্দ্য বোধ করেন, এটি নোট করুন; আপনি আপনার অ্যাপে মডেল কনফিগার করতে কনফিডেন্স থ্রেশহোল্ড ব্যবহার করবেন। (যথাযথ থ্রেশহোল্ড মান পেতে আপনি যে কোনো সময় এই টুলটি ব্যবহার করতে পারেন।)

4. আপনার মডেল প্রকাশ বা ডাউনলোড করুন

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

মডেল স্থাপন

আপনার ডেটা সেটটি টেস্ট & ট্যাব কী ব্যবহার করুন, আপনি অনলাইন ভবিষ্যদ্বাণী, যা ক্লাউডে আপনার মডেল রানে আপনার মডেল প্রসারিত করতে পারেন। এই বিকল্পটি মধ্যে আবৃত করা হয় ক্লাউড AutoML ডক্স । এই সাইটের ডক্স বাকি দুটি বিকল্পের সাথে ডিল করে।

মডেল প্রকাশ করুন

ফায়ারবেসে মডেলটি প্রকাশ করার মাধ্যমে, আপনি একটি নতুন অ্যাপ সংস্করণ প্রকাশ না করেই মডেলটি আপডেট করতে পারেন এবং আপনি ব্যবহারকারীদের বিভিন্ন সেটের কাছে গতিশীলভাবে বিভিন্ন মডেল পরিবেশন করতে রিমোট কনফিগারেশন এবং A/B টেস্টিং ব্যবহার করতে পারেন।

আপনি যদি শুধুমাত্র Firebase-এর সাথে হোস্ট করে মডেলটি প্রদান করতে চান এবং এটিকে আপনার অ্যাপের সাথে বান্ডিল না করে, তাহলে আপনি আপনার অ্যাপের প্রাথমিক ডাউনলোডের আকার কমাতে পারেন। মনে রাখবেন, যদিও, মডেলটি আপনার অ্যাপের সাথে বান্ডিল না থাকলে, আপনার অ্যাপটি প্রথমবারের মতো মডেলটি ডাউনলোড না করা পর্যন্ত মডেল-সম্পর্কিত কোনো কার্যকারিতা উপলব্ধ হবে না।

আপনার মডেল প্রকাশ করতে, আপনি দুটি পদ্ধতির যে কোনো একটি ব্যবহার করতে পারেন:

  • ডাউনলোড Google ক্লাউড কনসোলে আপনার ডেটা সেটটি টেস্ট & ব্যবহার পাতা থেকে মেমরি লাইট মডেল, এবং তারপর মডেল আপলোড কাস্টম মডেল Firebase কনসোলের পাতা। এটি সাধারণত একটি একক মডেল প্রকাশ করার সবচেয়ে সহজ উপায়।
  • অ্যাডমিন SDK ব্যবহার করে আপনার Google ক্লাউড প্রকল্প থেকে সরাসরি Firebase-এ মডেলটি প্রকাশ করুন। আপনি বিভিন্ন মডেল ব্যাচ প্রকাশ করতে বা স্বয়ংক্রিয় প্রকাশনা পাইপলাইন তৈরি করতে সাহায্য করতে এই পদ্ধতিটি ব্যবহার করতে পারেন।

এডমিন SDK এর সঙ্গে মডেল প্রকাশ করতে মডেল ব্যবস্থাপনা এপিআই :

  1. ইনস্টল করুন এবং SDK এর আরম্ভ

  2. মডেল প্রকাশ করুন।

    আপনাকে মডেলের সংস্থান শনাক্তকারী নির্দিষ্ট করতে হবে, যা একটি স্ট্রিং যা নিম্নলিখিত উদাহরণের মতো দেখাচ্ছে:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER ক্লাউড স্টোরেজ বাকেটের প্রজেক্ট নম্বর যাতে মডেলটি রয়েছে। এটি আপনার ফায়ারবেস প্রকল্প বা অন্য Google ক্লাউড প্রকল্প হতে পারে। আপনি Firebase কনসোলের সেটিংস পৃষ্ঠা বা Google Cloud Console ড্যাশবোর্ডে এই মানটি খুঁজে পেতে পারেন।
    MODEL_ID মডেলের ID, যা আপনি AutoML Cloud API থেকে পেয়েছেন।

    পাইথন

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

আপনার অ্যাপের সাথে মডেলটি ডাউনলোড করুন এবং বান্ডেল করুন

আপনার অ্যাপের সাথে আপনার মডেলকে একত্রিত করে, আপনি নিশ্চিত করতে পারেন যে Firebase-হোস্টেড মডেলটি উপলব্ধ না থাকলে আপনার অ্যাপের ML বৈশিষ্ট্যগুলি এখনও কাজ করে।

যদি আপনি উভয়ই মডেলটি প্রকাশ করেন এবং এটিকে আপনার অ্যাপের সাথে বান্ডিল করেন, অ্যাপটি উপলব্ধ সর্বশেষ সংস্করণ ব্যবহার করবে।

আপনার মডেল ডাউনলোড করার জন্য, আপনার ডেটা সেটটি টেস্ট & ব্যবহার পৃষ্ঠাতে মেমরি লাইট ক্লিক করুন।

পরবর্তী পদক্ষেপ

এখন যেহেতু আপনি প্রকাশিত বা মডেল ডাউনলোড করে থাকলেও, কীভাবে আপনার মডেল ব্যবহার করতে আইওএস + + এবং অ্যান্ড্রয়েড অ্যাপ।