LiteRT CompiledModel Kotlin API

LiterRT CompiledModel API কোটলিনে উপলব্ধ, যা অ্যান্ড্রয়েড ডেভেলপারদের উচ্চ-স্তরের API গুলির সাথে একটি নির্বিঘ্ন, অ্যাক্সিলারেটর-প্রথম অভিজ্ঞতা প্রদান করে। উদাহরণস্বরূপ, ইমেজ সেগমেন্টেশন কোটলিন অ্যাপ দেখুন।

নিম্নলিখিত নির্দেশিকাটি CompiledModel Kotlin API এর মৌলিক CPU অনুমান দেখায়। উন্নত ত্বরণ বৈশিষ্ট্যগুলির জন্য GPU ত্বরণ এবং NPU ত্বরণ সম্পর্কিত নির্দেশিকা দেখুন।

Maven প্যাকেজ যোগ করুন

আপনার অ্যান্ড্রয়েড প্রজেক্টে LiterRT Maven প্যাকেজ যোগ করুন:

dependencies {
  ...
  implementation `com.google.ai.edge.litert:litert:2.1.0`
}

CompiledModel তৈরি করুন

একটি মডেল এবং আপনার পছন্দের হার্ডওয়্যার ত্বরণ দিয়ে রানটাইম শুরু করুন:

val  model =
  CompiledModel.create(
    context.assets,
    "mymodel.tflite",
    CompiledModel.Options(Accelerator.CPU),
    env,
  )

ইনপুট এবং আউটপুট বাফার তৈরি করুন

মডেলটিতে অনুমানের জন্য যে ইনপুট ডেটা ফিড করবেন এবং ইনফারেন্স চালানোর পরে মডেলটি যে আউটপুট ডেটা তৈরি করবে তা ধরে রাখার জন্য প্রয়োজনীয় ডেটা স্ট্রাকচার (বাফার) তৈরি করুন।

val inputBuffers = model.createInputBuffers()
val outputBuffers = model.createOutputBuffers()

যদি আপনি CPU মেমোরি ব্যবহার করেন, তাহলে প্রথম ইনপুট বাফারে সরাসরি ডেটা লিখে ইনপুটগুলি পূরণ করুন।

inputBuffers[0].writeFloat(FloatArray(data_size) { data_value /* your data */ })

মডেলটি ডাকুন

ইনপুট এবং আউটপুট বাফার প্রদান করে, মডেলটি চালান।

model.run(inputBuffers, outputBuffers)

আউটপুট পুনরুদ্ধার করুন

মেমরি থেকে সরাসরি মডেল আউটপুট পড়ে আউটপুট পুনরুদ্ধার করুন।

val outputFloatArray = outputBuffers[0].readFloat()

TensorBuffer ব্যবহার করুন

LiterRT I/O বাফার ইন্টারঅপারেবিলিটির জন্য অন্তর্নির্মিত সমর্থন প্রদান করে, যা CompiledModel এর ভিতরে এবং বাইরে ডেটা প্রবাহ পরিচালনা করার জন্য Tensor Buffer API ( TensorBuffer ) ব্যবহার করে। Tensor Buffer API ( Write<T>() ) লেখা এবং পড়ার ( Read<T>() ) এবং বাফার লক করার ক্ষমতা প্রদান করে।

টেনসর বাফার এপিআই কীভাবে বাস্তবায়িত হয় তার আরও সম্পূর্ণ ধারণার জন্য, TensorBuffer.kt- এ সোর্স কোডটি দেখুন।