গুগল প্লে পরিষেবাগুলিতে টেনসরফ্লো লাইট

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

TensorFlow Lite Google Play পরিষেবার রানটাইমে প্লে পরিষেবার বর্তমান সংস্করণে চলমান সমস্ত Android ডিভাইসের জন্য উপলব্ধ। এই রানটাইম আপনাকে আপনার অ্যাপে টেনসরফ্লো লাইট লাইব্রেরিগুলিকে স্ট্যাটিকভাবে বান্ডিল না করে মেশিন লার্নিং (ML) মডেলগুলি চালানোর অনুমতি দেয়।

Google Play পরিষেবা API-এর মাধ্যমে, আপনি আপনার অ্যাপের আকার কমাতে পারেন এবং লাইব্রেরির সর্বশেষ স্থিতিশীল সংস্করণ থেকে উন্নত কর্মক্ষমতা অর্জন করতে পারেন। Google Play পরিষেবাগুলিতে TensorFlow Lite হল Android-এ TensorFlow Lite ব্যবহার করার প্রস্তাবিত উপায়।

আপনি Quickstart এর সাথে Play পরিষেবার রানটাইম শুরু করতে পারেন, যা একটি নমুনা অ্যাপ্লিকেশন বাস্তবায়নের জন্য ধাপে ধাপে নির্দেশিকা প্রদান করে। আপনি যদি ইতিমধ্যেই আপনার অ্যাপে স্ট্যান্ড-অ্যালোন TensorFlow Lite ব্যবহার করে থাকেন, তাহলে Play পরিষেবার রানটাইম ব্যবহার করার জন্য একটি বিদ্যমান অ্যাপ আপডেট করতে স্ট্যান্ড-এলোন TensorFlow Lite বিভাগ থেকে স্থানান্তর করুন। Google Play পরিষেবাগুলি সম্পর্কে আরও তথ্যের জন্য, Google Play পরিষেবাগুলির ওয়েবসাইট দেখুন৷

Play পরিষেবার রানটাইম ব্যবহার করা

TensorFlow Lite Google Play পরিষেবাতে TensorFlow Lite Task API এবং TensorFlow Lite Interpreter API- এর মাধ্যমে উপলব্ধ। টাস্ক লাইব্রেরি ভিজ্যুয়াল, অডিও এবং টেক্সট ডেটা ব্যবহার করে সাধারণ মেশিন লার্নিং কাজের জন্য অপ্টিমাইজ করা আউট-অফ-বক্স মডেল ইন্টারফেস প্রদান করে। TensorFlow Lite Interpreter API, TensorFlow রানটাইম এবং সমর্থন লাইব্রেরি দ্বারা সরবরাহ করা, ML মডেলগুলি তৈরি এবং চালানোর জন্য আরও সাধারণ-উদ্দেশ্য ইন্টারফেস প্রদান করে।

নিম্নলিখিত বিভাগগুলি Google Play পরিষেবাগুলিতে ইন্টারপ্রেটার এবং টাস্ক লাইব্রেরি APIগুলি কীভাবে প্রয়োগ করতে হয় তার নির্দেশাবলী প্রদান করে৷ যদিও একটি অ্যাপের পক্ষে ইন্টারপ্রেটার এপিআই এবং টাস্ক লাইব্রেরি এপিআই উভয়ই ব্যবহার করা সম্ভব, বেশিরভাগ অ্যাপের শুধুমাত্র এক সেট API ব্যবহার করা উচিত।

টাস্ক লাইব্রেরি API ব্যবহার করে

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

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

আপনার প্রকল্প নির্ভরতা আপনার মেশিন লার্নিং ব্যবহারের ক্ষেত্রে নির্ভর করে। টাস্ক API তে নিম্নলিখিত লাইব্রেরি রয়েছে:

  • ভিশন লাইব্রেরি: org.tensorflow:tensorflow-lite-task-vision-play-services
  • অডিও লাইব্রেরি: org.tensorflow:tensorflow-lite-task-audio-play-services
  • টেক্সট লাইব্রেরি: org.tensorflow:tensorflow-lite-task-text-play-services

TensorFlow Lite-এর জন্য Play পরিষেবা API অ্যাক্সেস করতে আপনার অ্যাপ প্রোজেক্ট কোডে একটি নির্ভরতা যোগ করুন। উদাহরণস্বরূপ, একটি দৃষ্টি টাস্ক বাস্তবায়ন করতে নিম্নলিখিত ব্যবহার করুন:

dependencies {
...
    implementation 'org.tensorflow:tensorflow-lite-task-vision-play-services:0.4.2'
...
}

2. TensorFlow Lite-এর সূচনা যোগ করুন

TensorFlow Lite API ব্যবহার করার আগে Google Play পরিষেবা API-এর TensorFlow Lite কম্পোনেন্ট চালু করুন। নিম্নলিখিত উদাহরণ ভিশন লাইব্রেরি আরম্ভ করে:

কোটলিন

init {
  TfLiteVision.initialize(context)
    }
  }

3. অনুমান চালান

TensorFlow Lite কম্পোনেন্ট আরম্ভ করার পরে, অনুমান তৈরি করতে detect() পদ্ধতিতে কল করুন। লাইব্রেরি এবং ব্যবহারের ক্ষেত্রের উপর নির্ভর করে detect() পদ্ধতির মধ্যে সঠিক কোড পরিবর্তিত হয়। TfLiteVision লাইব্রেরির সাথে একটি সাধারণ বস্তু সনাক্তকরণ ব্যবহারের ক্ষেত্রে নিম্নলিখিতটি রয়েছে:

কোটলিন

fun detect(...) {
  if (!TfLiteVision.isInitialized()) {
    Log.e(TAG, "detect: TfLiteVision is not initialized yet")
    return
  }

  if (objectDetector == null) {
    setupObjectDetector()
  }

  ...

}

ডেটা ফরম্যাটের উপর নির্ভর করে, অনুমান তৈরি করার আগে আপনাকে detect() পদ্ধতির মধ্যে আপনার ডেটা প্রিপ্রসেস এবং রূপান্তর করতে হতে পারে। উদাহরণস্বরূপ, একটি অবজেক্ট ডিটেক্টরের জন্য ইমেজ ডেটা নিম্নলিখিত প্রয়োজন:

val imageProcessor = ImageProcessor.Builder().add(Rot90Op(-imageRotation / 90)).build()
val tensorImage = imageProcessor.process(TensorImage.fromBitmap(image))
val results = objectDetector?.detect(tensorImage)

ইন্টারপ্রেটার এপিআই ব্যবহার করে

ইন্টারপ্রেটার এপিআই টাস্ক লাইব্রেরি এপিআই এর চেয়ে বেশি নিয়ন্ত্রণ এবং নমনীয়তা প্রদান করে। যদি আপনার মেশিন লার্নিং টাস্ক টাস্ক লাইব্রেরি দ্বারা সমর্থিত না হয়, অথবা আপনার যদি ML মডেল তৈরি এবং চালানোর জন্য আরও সাধারণ-উদ্দেশ্য ইন্টারফেসের প্রয়োজন হয় তবে আপনার ইন্টারপ্রেটার API ব্যবহার করা উচিত।

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

TensorFlow Lite-এর জন্য Play পরিষেবা API অ্যাক্সেস করতে আপনার অ্যাপ প্রোজেক্ট কোডে নিম্নলিখিত নির্ভরতা যোগ করুন:

dependencies {
...
    // Tensorflow Lite dependencies for Google Play services
    implementation 'com.google.android.gms:play-services-tflite-java:16.0.0'
    // Optional: include Tensorflow Lite Support Library
    implementation 'com.google.android.gms:play-services-tflite-support:16.0.0'
...
}

2. TensorFlow Lite-এর সূচনা যোগ করুন

TensorFlow Lite API ব্যবহার করার আগে Google Play পরিষেবা API-এর TensorFlow Lite উপাদানটি শুরু করুন:

কোটলিন

val initializeTask: Task<Void> by lazy { TfLite.initialize(this) }

জাভা

Task<Void> initializeTask = TfLite.initialize(context);

3. একটি দোভাষী তৈরি করুন এবং রানটাইম বিকল্প সেট করুন

InterpreterApi.create() InterpreterApi.Options.setRuntime() করে Google Play পরিষেবার রানটাইম ব্যবহার করার জন্য এটিকে কনফিগার করুন, নিম্নলিখিত উদাহরণ কোডে দেখানো হয়েছে:

কোটলিন

import org.tensorflow.lite.InterpreterApi
import org.tensorflow.lite.InterpreterApi.Options.TfLiteRuntime
...
private lateinit var interpreter: InterpreterApi
...
initializeTask.addOnSuccessListener {
  val interpreterOption =
    InterpreterApi.Options().setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY)
  interpreter = InterpreterApi.create(
    modelBuffer,
    interpreterOption
  )}
  .addOnFailureListener { e ->
    Log.e("Interpreter", "Cannot initialize interpreter", e)
  }

জাভা

import org.tensorflow.lite.InterpreterApi
import org.tensorflow.lite.InterpreterApi.Options.TfLiteRuntime
...
private InterpreterApi interpreter;
...
initializeTask.addOnSuccessListener(a -> {
    interpreter = InterpreterApi.create(modelBuffer,
      new InterpreterApi.Options().setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY));
  })
  .addOnFailureListener(e -> {
    Log.e("Interpreter", String.format("Cannot initialize interpreter: %s",
          e.getMessage()));
  });

আপনার উপরের বাস্তবায়ন ব্যবহার করা উচিত কারণ এটি অ্যান্ড্রয়েড ব্যবহারকারী ইন্টারফেস থ্রেড ব্লক করা এড়ায়। আপনি যদি আরও ঘনিষ্ঠভাবে থ্রেড এক্সিকিউশন পরিচালনা করতে চান, আপনি দোভাষী তৈরিতে একটি Tasks.await() কল যোগ করতে পারেন:

কোটলিন

import androidx.lifecycle.lifecycleScope
...
lifecycleScope.launchWhenStarted { // uses coroutine
  initializeTask.await()
}

জাভা

@BackgroundThread
InterpreterApi initializeInterpreter() {
    Tasks.await(initializeTask);
    return InterpreterApi.create(...);
}

4. অনুমান চালান

আপনার তৈরি করা interpreter অবজেক্ট ব্যবহার করে, একটি অনুমান তৈরি করতে run() পদ্ধতিতে কল করুন।

কোটলিন

interpreter.run(inputBuffer, outputBuffer)

জাভা

interpreter.run(inputBuffer, outputBuffer);

হার্ডওয়্যার ত্বরণ

TensorFlow Lite আপনাকে বিশেষ হার্ডওয়্যার প্রসেসর, যেমন গ্রাফিক্স প্রসেসিং ইউনিট (GPUs) ব্যবহার করে আপনার মডেলের কর্মক্ষমতা ত্বরান্বিত করতে দেয়। আপনি ডেলিগেট নামক হার্ডওয়্যার ড্রাইভার ব্যবহার করে এই বিশেষায়িত প্রসেসরগুলির সুবিধা নিতে পারেন। আপনি Google Play পরিষেবাগুলিতে TensorFlow Lite সহ নিম্নলিখিত হার্ডওয়্যার ত্বরণ প্রতিনিধি ব্যবহার করতে পারেন:

  • GPU প্রতিনিধি (প্রস্তাবিত) - এই প্রতিনিধিটি Google Play পরিষেবার মাধ্যমে সরবরাহ করা হয় এবং টাস্ক API এবং ইন্টারপ্রেটার API-এর প্লে পরিষেবার সংস্করণগুলির মতোই গতিশীলভাবে লোড করা হয়৷

  • NNAPI প্রতিনিধি - এই প্রতিনিধিটি আপনার অ্যান্ড্রয়েড ডেভেলপমেন্ট প্রজেক্টে একটি অন্তর্ভুক্ত লাইব্রেরি নির্ভরতা হিসাবে উপলব্ধ, এবং আপনার অ্যাপে বান্ডিল করা হয়েছে।

টেনসরফ্লো লাইটের সাথে হার্ডওয়্যার ত্বরণ সম্পর্কে আরও তথ্যের জন্য, টেনসরফ্লো লাইট প্রতিনিধি পৃষ্ঠাটি দেখুন।

ডিভাইসের সামঞ্জস্যতা পরীক্ষা করা হচ্ছে

সমস্ত ডিভাইস TFLite এর সাথে GPU হার্ডওয়্যার ত্বরণ সমর্থন করে না। ত্রুটি এবং সম্ভাব্য ক্র্যাশগুলি হ্রাস করার জন্য, একটি ডিভাইস GPU প্রতিনিধির সাথে সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করতে TfLiteGpu.isGpuDelegateAvailable পদ্ধতি ব্যবহার করুন৷

একটি ডিভাইস GPU এর সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে এই পদ্ধতিটি ব্যবহার করুন এবং GPU সমর্থিত না হলে একটি ফলব্যাক হিসাবে CPU বা NNAPI প্রতিনিধি ব্যবহার করুন।

useGpuTask = TfLiteGpu.isGpuDelegateAvailable(context)

একবার আপনার কাছে useGpuTask মত একটি ভেরিয়েবল থাকলে, ডিভাইসগুলি GPU প্রতিনিধি ব্যবহার করে কিনা তা নির্ধারণ করতে আপনি এটি ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে এটি টাস্ক লাইব্রেরি এবং ইন্টারপ্রেটার API উভয়ের সাথে করা যেতে পারে।

টাস্ক এপিআই সহ

কোটলিন

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

জাভা

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

দোভাষী অপির সাথে

কোটলিন

val interpreterTask = useGpuTask.continueWith { task ->
  val interpreterOptions = InterpreterApi.Options()
      .setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY)
  if (task.result) {
      interpreterOptions.addDelegateFactory(GpuDelegateFactory())
  }
  InterpreterApi.create(FileUtil.loadMappedFile(context, MODEL_PATH), interpreterOptions)
}
    

জাভা

Task<InterpreterApi.Options> interpreterOptionsTask = useGpuTask.continueWith({ task ->
  InterpreterApi.Options options =
      new InterpreterApi.Options().setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY);
  if (task.getResult()) {
     options.addDelegateFactory(new GpuDelegateFactory());
  }
  return options;
});
    

টাস্ক লাইব্রেরি API সহ GPU

টাস্ক API এর সাথে GPU প্রতিনিধি ব্যবহার করতে:

  1. প্লে পরিষেবাগুলি থেকে GPU প্রতিনিধি ব্যবহার করতে প্রকল্প নির্ভরতা আপডেট করুন:

    implementation 'com.google.android.gms:play-services-tflite-gpu:16.0.0'
    
  2. GPU প্রতিনিধি setEnableGpuDelegateSupport দিয়ে শুরু করুন। উদাহরণস্বরূপ, আপনি নিম্নলিখিতগুলির সাথে TfLiteVision এর জন্য GPU প্রতিনিধি শুরু করতে পারেন:

    কোটলিন

        TfLiteVision.initialize(context, TfLiteInitializationOptions.builder().setEnableGpuDelegateSupport(true).build())
        

    জাভা

        TfLiteVision.initialize(context, TfLiteInitializationOptions.builder().setEnableGpuDelegateSupport(true).build());
        
  3. BaseOptions সহ GPU প্রতিনিধি বিকল্প সক্রিয় করুন:

    কোটলিন

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

    জাভা

        BaseOptions baseOptions = BaseOptions.builder().useGpu().build();
        
  4. .setBaseOptions ব্যবহার করে বিকল্পগুলি কনফিগার করুন। উদাহরণস্বরূপ, আপনি নিম্নলিখিতগুলির সাথে ObjectDetector GPU সেট আপ করতে পারেন:

    কোটলিন

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

    জাভা

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

ইন্টারপ্রেটার API সহ GPU

ইন্টারপ্রেটার API-এর সাথে GPU প্রতিনিধি ব্যবহার করতে:

  1. প্লে পরিষেবাগুলি থেকে GPU প্রতিনিধি ব্যবহার করতে প্রকল্প নির্ভরতা আপডেট করুন:

    implementation 'com.google.android.gms:play-services-tflite-gpu:16.0.0'
    
  2. TFlite শুরুতে GPU প্রতিনিধি বিকল্পটি সক্ষম করুন:

    কোটলিন

        TfLite.initialize(context,
          TfLiteInitializationOptions.builder()
           .setEnableGpuDelegateSupport(true)
           .build())
        

    জাভা

        TfLite.initialize(context,
          TfLiteInitializationOptions.builder()
           .setEnableGpuDelegateSupport(true)
           .build());
        
  3. InterpreterApi.Options() ) এর মধ্যে addDelegateFactory() কল করে DelegateFactory ব্যবহার করার জন্য দোভাষী বিকল্পগুলিতে GPU প্রতিনিধি সেট করুন :

    কোটলিন

        val interpreterOption = InterpreterApi.Options()
         .setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY)
         .addDelegateFactory(GpuDelegateFactory())
        

    জাভা

        Options interpreterOption = InterpreterApi.Options()
          .setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY)
          .addDelegateFactory(new GpuDelegateFactory());
        

স্ট্যান্ড-অলোন TensorFlow Lite থেকে মাইগ্রেট করা হচ্ছে

আপনি যদি আপনার অ্যাপটি স্ট্যান্ড-অলোন TensorFlow Lite থেকে Play পরিষেবা API-তে স্থানান্তর করার পরিকল্পনা করছেন, তাহলে আপনার অ্যাপ প্রকল্প কোড আপডেট করার জন্য নিম্নলিখিত অতিরিক্ত নির্দেশিকা পর্যালোচনা করুন:

  1. আপনার ব্যবহারের ক্ষেত্রে সমর্থিত তা নিশ্চিত করতে এই পৃষ্ঠার সীমাবদ্ধতা বিভাগটি পর্যালোচনা করুন।
  2. আপনার কোড আপডেট করার আগে, আপনার মডেলগুলির জন্য কর্মক্ষমতা এবং নির্ভুলতা পরীক্ষা করুন, বিশেষ করে যদি আপনি সংস্করণ 2.1 এর আগে TensorFlow Lite-এর সংস্করণগুলি ব্যবহার করছেন, তাই নতুন বাস্তবায়নের সাথে তুলনা করার জন্য আপনার কাছে একটি বেসলাইন আছে।
  3. আপনি যদি TensorFlow Lite-এর জন্য Play পরিষেবা API ব্যবহার করার জন্য আপনার সমস্ত কোড স্থানান্তরিত করে থাকেন, তাহলে আপনার build.gradle ফাইল থেকে বিদ্যমান TensorFlow Lite রানটাইম লাইব্রেরি নির্ভরতা ( org.tensorflow: tensorflow-lite :* সাথে এন্ট্রি) অপসারণ করা উচিত যাতে আপনি আপনার অ্যাপের আকার কমাতে পারে।
  4. আপনার কোডে new Interpreter অবজেক্ট তৈরির সমস্ত ঘটনা চিহ্নিত করুন এবং এটিকে সংশোধন করুন যাতে এটি InterpreterApi.create() কল ব্যবহার করে। এই নতুন APIটি অ্যাসিঙ্ক্রোনাস, যার মানে বেশিরভাগ ক্ষেত্রে এটি একটি ড্রপ-ইন প্রতিস্থাপন নয়, এবং কলটি সম্পূর্ণ হওয়ার জন্য আপনাকে অবশ্যই একজন শ্রোতা নিবন্ধন করতে হবে। ধাপ 3 কোডে কোড স্নিপেট পড়ুন।
  5. import org.tensorflow.lite.InterpreterApi; এবং import org.tensorflow.lite.InterpreterApi.Options.TfLiteRuntime; org.tensorflow.lite.Interpreter বা org.tensorflow.lite.InterpreterApi ক্লাস ব্যবহার করে যেকোন সোর্স ফাইলে।
  6. InterpreterApi.create() -এ যেকোনও কলে শুধুমাত্র একটি আর্গুমেন্ট থাকলে, আর্গুমেন্ট তালিকায় new InterpreterApi.Options() যোগ করুন।
  7. InterpreterApi.create() -এ যেকোনো কলের শেষ আর্গুমেন্টে .setRuntime(TfLiteRuntime.FROM_SYSTEM_ONLY) করুন।
  8. org.tensorflow.lite.Interpreter ক্লাসের অন্যান্য সমস্ত ঘটনাকে org.tensorflow.lite.InterpreterApi দিয়ে প্রতিস্থাপন করুন।

আপনি যদি একা টেনসরফ্লো লাইট এবং প্লে পরিষেবা API পাশাপাশি ব্যবহার করতে চান তবে আপনাকে অবশ্যই টেনসরফ্লো লাইট 2.9 (বা পরবর্তী) ব্যবহার করতে হবে। TensorFlow Lite 2.8 এবং পূর্ববর্তী সংস্করণগুলি Play service API সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয়৷

সীমাবদ্ধতা

গুগল প্লে পরিষেবাগুলিতে টেনসরফ্লো লাইটের নিম্নলিখিত সীমাবদ্ধতা রয়েছে:

  • হার্ডওয়্যার ত্বরণ প্রতিনিধিদের জন্য সমর্থন হার্ডওয়্যার ত্বরণ বিভাগে তালিকাভুক্ত প্রতিনিধিদের মধ্যে সীমাবদ্ধ। অন্য কোন ত্বরণ প্রতিনিধি সমর্থিত হয় না.
  • স্থানীয় API- এর মাধ্যমে TensorFlow Lite-এ অ্যাক্সেস সমর্থিত নয়। শুধুমাত্র TensorFlow Lite Java APIs Google Play পরিষেবার মাধ্যমে উপলব্ধ।
  • কাস্টম অপ্স সহ পরীক্ষামূলক বা অপ্রচলিত TensorFlow Lite API সমর্থিত নয়।

সমর্থন এবং প্রতিক্রিয়া

আপনি টেনসরফ্লো ইস্যু ট্র্যাকারের মাধ্যমে প্রতিক্রিয়া জানাতে এবং সমর্থন পেতে পারেন। অনুগ্রহ করে Google Play পরিষেবাতে TensorFlow Lite-এর জন্য সমস্যা টেমপ্লেট ব্যবহার করে সমস্যা এবং সহায়তার অনুরোধ জানান।

সেবা পাবার শর্ত

Google Play পরিষেবা API-এ TensorFlow Lite-এর ব্যবহার Google API-এর পরিষেবার শর্তাবলীর অধীন৷

গোপনীয়তা এবং ডেটা সংগ্রহ

আপনি যখন Google Play পরিষেবার API-এ TensorFlow Lite ব্যবহার করেন, তখন ইনপুট ডেটার প্রক্রিয়াকরণ, যেমন ছবি, ভিডিও, টেক্সট সম্পূর্ণরূপে ডিভাইসে হয় এবং Google Play পরিষেবা API-তে TensorFlow Lite সেই ডেটা Google সার্ভারে পাঠায় না। ফলস্বরূপ, আপনি ডেটা প্রক্রিয়াকরণের জন্য আমাদের APIগুলি ব্যবহার করতে পারেন যা ডিভাইসটি ছেড়ে যাওয়া উচিত নয়৷

টেন্সরফ্লো লাইট Google Play পরিষেবার API গুলি বাগ ফিক্স, আপডেট করা মডেল এবং হার্ডওয়্যার অ্যাক্সিলারেটর সামঞ্জস্যপূর্ণ তথ্য পাওয়ার জন্য সময়ে সময়ে Google সার্ভারের সাথে যোগাযোগ করতে পারে। Google Play পরিষেবার API-এ টেনসরফ্লো লাইট আপনার অ্যাপের API-এর কার্যক্ষমতা এবং ব্যবহার সম্পর্কে মেট্রিক্স Google-কে পাঠায়। Google এই মেট্রিক্স ডেটা ব্যবহার করে পারফরম্যান্স পরিমাপ, ডিবাগ, রক্ষণাবেক্ষণ এবং APIগুলি উন্নত করতে এবং অপব্যবহার বা অপব্যবহার শনাক্ত করতে, যেমন আমাদের গোপনীয়তা নীতিতে আরও বর্ণিত হয়েছে৷

প্রযোজ্য আইন অনুসারে Google Play পরিষেবা API-এর মেট্রিক্স ডেটাতে Google-এর TensorFlow Lite-এর প্রক্রিয়াকরণ সম্পর্কে আপনার অ্যাপের ব্যবহারকারীদের জানানোর জন্য আপনি দায়ী।

আমরা যে ডেটা সংগ্রহ করি তার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

  • ডিভাইস তথ্য (যেমন প্রস্তুতকারক, মডেল, OS সংস্করণ এবং বিল্ড) এবং উপলব্ধ ML হার্ডওয়্যার এক্সিলারেটর (GPU এবং DSP)। ডায়াগনস্টিকস এবং ব্যবহার বিশ্লেষণের জন্য ব্যবহৃত হয়।
  • ডায়াগনস্টিকস এবং ব্যবহার বিশ্লেষণের জন্য ব্যবহৃত ডিভাইস শনাক্তকারী।
  • অ্যাপের তথ্য (প্যাকেজের নাম, অ্যাপ সংস্করণ)। ডায়াগনস্টিকস এবং ব্যবহার বিশ্লেষণের জন্য ব্যবহৃত হয়।
  • API কনফিগারেশন (যেমন কোন প্রতিনিধি ব্যবহার করা হচ্ছে)। ডায়াগনস্টিকস এবং ব্যবহার বিশ্লেষণের জন্য ব্যবহৃত হয়।
  • ঘটনার ধরন (যেমন দোভাষী সৃষ্টি, অনুমান)। ডায়াগনস্টিকস এবং ব্যবহার বিশ্লেষণের জন্য ব্যবহৃত হয়।
  • ত্রুটি কোড. ডায়াগনস্টিকস জন্য ব্যবহৃত.
  • কর্মক্ষমতা বৈশিষ্ট্যের মান. ডায়াগনস্টিকস জন্য ব্যবহৃত.

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

TensorFlow Lite-এর সাথে আপনার মোবাইল অ্যাপ্লিকেশনে মেশিন লার্নিং বাস্তবায়ন সম্পর্কে আরও তথ্যের জন্য, TensorFlow Lite বিকাশকারী গাইড দেখুন। আপনি TensorFlow Hub- এ চিত্র শ্রেণীবিভাগ, অবজেক্ট সনাক্তকরণ এবং অন্যান্য অ্যাপ্লিকেশনের জন্য অতিরিক্ত TensorFlow Lite মডেলগুলি খুঁজে পেতে পারেন৷