টাস্ক লাইব্রেরির সাথে GPU ত্বরণ প্রতিনিধি

আপনার মেশিন লার্নিং (ML) মডেলগুলি চালানোর জন্য গ্রাফিক্স প্রসেসিং ইউনিট (GPUs) ব্যবহার করা আপনার ML-সক্ষম অ্যাপ্লিকেশনগুলির কর্মক্ষমতা এবং ব্যবহারকারীর অভিজ্ঞতাকে নাটকীয়ভাবে উন্নত করতে পারে। অ্যান্ড্রয়েড ডিভাইসে, আপনি প্রতিনিধি এবং নিম্নলিখিত APIগুলির মধ্যে একটি ব্যবহার করে আপনার মডেলগুলির GPU-এক্সিলারেটেড এক্সিকিউশন সক্ষম করতে পারেন:

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

Google Play পরিষেবাগুলির সাথে TensorFlow Lite সহ GPU ব্যবহার করুন৷

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি মেশিন লার্নিং অ্যাপ্লিকেশন তৈরির জন্য টাস্ক-নির্দিষ্ট API-এর একটি সেট প্রদান করে। এই বিভাগটি বর্ণনা করে যে কীভাবে Google Play পরিষেবাগুলির সাথে TensorFlow Lite ব্যবহার করে এই APIগুলির সাথে GPU এক্সিলারেটর প্রতিনিধি ব্যবহার করবেন৷

Google Play পরিষেবার সাথে TensorFlow Lite হল Android-এ TensorFlow Lite ব্যবহার করার প্রস্তাবিত পথ। যদি আপনার অ্যাপ্লিকেশানটি এমন ডিভাইসগুলিকে লক্ষ্য করে যা Google Play চালাচ্ছে না, তাহলে টাস্ক লাইব্রেরি এবং স্বতন্ত্র টেনসরফ্লো লাইট বিভাগ সহ GPU দেখুন।

প্রকল্প নির্ভরতা যোগ করুন

Google Play পরিষেবাগুলি ব্যবহার করে টেনসরফ্লো লাইট টাস্ক লাইব্রেরিগুলির সাথে GPU প্রতিনিধিতে অ্যাক্সেস সক্ষম করতে, আপনার অ্যাপের build.gradle ফাইলের নির্ভরতাগুলিতে com.google.android.gms:play-services-tflite-gpu যোগ করুন:

dependencies {
  ...
  implementation 'com.google.android.gms:play-services-tflite-gpu:16.0.0'
}

GPU ত্বরণ সক্ষম করুন

তারপর, TfLiteGpu ক্লাস ব্যবহার করে ডিভাইসের জন্য GPU প্রতিনিধি উপলব্ধ আছে কিনা তা অ্যাসিঙ্ক্রোনাসভাবে যাচাই করুন এবং BaseOptions ক্লাসের সাথে আপনার টাস্ক API মডেল ক্লাসের জন্য GPU প্রতিনিধি বিকল্পটি সক্ষম করুন। উদাহরণস্বরূপ, আপনি ObjectDetector GPU সেট আপ করতে পারেন যেমন নিম্নলিখিত কোড উদাহরণগুলিতে দেখানো হয়েছে:

কোটলিন

        val useGpuTask = TfLiteGpu.isGpuDelegateAvailable(context)

        lateinit val optionsTask = useGpuTask.continueWith { task ->
          val baseOptionsBuilder = BaseOptions.builder()
          if (task.result) {
            baseOptionsBuilder.useGpu()
          }
        ObjectDetectorOptions.builder()
                  .setBaseOptions(baseOptionsBuilder.build())
                  .setMaxResults(1)
                  .build()
        }
      

জাভা

      Task useGpuTask = TfLiteGpu.isGpuDelegateAvailable(context);

      Task optionsTask = useGpuTask.continueWith({ task ->
        BaseOptions baseOptionsBuilder = BaseOptions.builder();
        if (task.getResult()) {
          baseOptionsBuilder.useGpu();
        }
        return ObjectDetectorOptions.builder()
                .setBaseOptions(baseOptionsBuilder.build())
                .setMaxResults(1)
                .build()
      });
      

স্বতন্ত্র TensorFlow Lite সহ GPU ব্যবহার করুন

যদি আপনার অ্যাপ্লিকেশনটি এমন ডিভাইসগুলিকে লক্ষ্য করে যা Google Play চালাচ্ছে না, তাহলে আপনার অ্যাপ্লিকেশনে GPU প্রতিনিধিকে বান্ডেল করা এবং TensorFlow Lite-এর স্বতন্ত্র সংস্করণের সাথে এটি ব্যবহার করা সম্ভব।

প্রকল্প নির্ভরতা যোগ করুন

টেনসরফ্লো লাইটের স্বতন্ত্র সংস্করণ ব্যবহার করে টেনসরফ্লো লাইট টাস্ক লাইব্রেরিগুলির সাথে GPU প্রতিনিধিতে অ্যাক্সেস সক্ষম করতে, আপনার অ্যাপের build.gradle ফাইলের নির্ভরতাগুলিতে org.tensorflow:tensorflow-lite-gpu-delegate-plugin যোগ করুন:

dependencies {
  ...
  implementation 'org.tensorflow:tensorflow-lite'
  implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin'
}

GPU ত্বরণ সক্ষম করুন

তারপর BaseOptions ক্লাসের সাথে আপনার টাস্ক API মডেল ক্লাসের জন্য GPU প্রতিনিধি বিকল্পটি সক্ষম করুন। উদাহরণস্বরূপ, আপনি ObjectDetector GPU সেট আপ করতে পারেন যেমন নিম্নলিখিত কোড উদাহরণগুলিতে দেখানো হয়েছে:

কোটলিন

    import org.tensorflow.lite.task.core.BaseOptions
    import org.tensorflow.lite.task.gms.vision.detector.ObjectDetector

    val baseOptions = BaseOptions.builder().useGpu().build()

    val options =
        ObjectDetector.ObjectDetectorOptions.builder()
            .setBaseOptions(baseOptions)
            .setMaxResults(1)
            .build()

    val objectDetector = ObjectDetector.createFromFileAndOptions(
      context, model, options)
      

জাভা

    import org.tensorflow.lite.task.core.BaseOptions
    import org.tensorflow.lite.task.gms.vision.detector.ObjectDetector

    BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

    ObjectDetectorOptions options =
        ObjectDetectorOptions.builder()
            .setBaseOptions(baseOptions)
            .setMaxResults(1)
            .build();

    val objectDetector = ObjectDetector.createFromFileAndOptions(
      context, model, options);