LiteRT নেক্সট দিয়ে শুরু করুন

LiteRT নেক্সট APIগুলি LiteRT APIগুলির সাথে সামঞ্জস্যপূর্ণ নয়, তাই নতুন APIগুলির দ্বারা প্রদত্ত বৈশিষ্ট্য এবং ক্ষমতাগুলি ব্যবহার করার জন্য LiteRT ব্যবহার করা অ্যাপ্লিকেশনগুলিকে সম্পূর্ণরূপে LiteRT নেক্সটে স্থানান্তর করতে হবে৷ অ্যাপ্লিকেশনগুলি TF Lite ইন্টারপ্রেটার API এবং কম্পাইল করা মডেল APIগুলি বিনিময়যোগ্যভাবে ব্যবহার করতে পারে না৷

LiteRT Next কোটলিন এবং C++ এর জন্য API প্রদান করে। অন্যান্য ভাষায় LiteRT SDK ব্যবহার করা অ্যাপ্লিকেশনগুলিকে LiteRT ব্যবহার করা চালিয়ে যেতে হবে।

অ্যান্ড্রয়েড নির্ভরতা

LiteRT ব্যবহার করে একটি Android অ্যাপ্লিকেশন স্থানান্তর করতে, com.google.ai.edge.litert থেকে com.google.ai.edge.litert:litert:2.0.0-alpha নির্ভরতা প্রতিস্থাপন করুন।

LiteRT এর সাথে, GPU অ্যাক্সিলারেটর একটি পৃথক লাইব্রেরিতে প্রতিনিধি হিসাবে উপলব্ধ ( com.google.ai.edge.litert:litert-gpu )৷ LiteRT Next-এর সাথে, GPU অ্যাক্সিলারেটর LiteRT Next প্যাকেজে অন্তর্ভুক্ত করা হয়েছে। আরও তথ্যের জন্য, LiteRT Next সহ GPU দেখুন।

আপনি আপনার build.gradle নির্ভরতাগুলিতে LiteRT Next প্যাকেজ যোগ করতে পারেন:

dependencies {
  ...
  implementation `com.google.ai.edge.litert:litert:2.0.0-alpha`
}

কোড পরিবর্তন

LiteRT ব্যবহার করা অ্যাপ্লিকেশনগুলিকে কোড প্রতিস্থাপন করতে হবে যা TFLite ইন্টারপ্রেটার API ব্যবহার করে কোডের জন্য কম্পাইল করা মডেল API ব্যবহার করে। LiteRT Next-এ মাইগ্রেট করার জন্য প্রয়োজনীয় প্রধান পরিবর্তনগুলি নিম্নলিখিতগুলি দেখায়৷ আরো বিস্তারিত জানার জন্য, LiteRT Next API রেফারেন্স দেখুন।

C++ এ কোড পরিবর্তন

C++ ব্যবহার করে একটি অ্যাপ্লিকেশন স্থানান্তর করতে, নিম্নলিখিত কী স্নিপেটগুলি প্রতিস্থাপন করুন:

LiteRT (TFLite ইন্টারপ্রেটার) LiteRT নেক্সট ( CompiledModel )
একটি মডেল লোড করুন FlatBufferModel::BuildFromFile() InterpreterBuilder(...) Model::CreateFromFile("mymodel.tflite")
দ্রষ্টব্য: আলাদা বিল্ডার পদক্ষেপ নেই
রানটাইম শুরু করুন builder(&interpreter), interpreter->AllocateTensors() CompiledModel::Create(env, model, kLiteRtHwAcceleratorCpu)
দ্রষ্টব্য: কোনও ম্যানুয়াল মেমরি বরাদ্দের পদক্ষেপ নেই
এক্সিলারেটর ব্যবহার করুন interpreter->ModifyGraphWithDelegate(...) CompiledModel::Create(env, model, kLiteRtHwAcceleratorGpu)
একটি মডেল চালান interpreter->Invoke() compiled_model->Run(inputs, outputs)

কোটলিনে কোড পরিবর্তন

Kotlin ব্যবহার করে একটি অ্যাপ্লিকেশন স্থানান্তর করতে, নিম্নলিখিত মূল পদক্ষেপগুলি অনুসরণ করুন:

মডেল এবং রানটাইম সেট আপ করুন

LiteRT এর সাথে, আপনি একটি মডেল লোড করেন, ত্বরণ সেট আপ করেন এবং বিভিন্ন ধাপে রানটাইম শুরু করেন:

// Load the model
val modelBuffer: MappedByteBuffer =
  FileUtil.loadMappedFile(appContext, "model.tflite")

// Initialize runtime
val options = Interpreter.Options()
val interpreter = Interpreter(modelBuffer, options)
interpreter.allocateTensors()

// Use accelerators
aval gpuDelegate = GpuDelegate()
options.addDelegate(gpuDelegate)

LiteRT Next এর সাথে, আপনি মডেলটি লোড করুন, ত্বরণ নির্দিষ্ট করুন এবং একই সময়ে রানটাইম শুরু করুন:

val model =
CompiledModel.create(
  context.assets,
  "model.tflite",
  CompiledModel.Options(Accelerator.GPU)
)

অনুমান চালান

LiteRT দিয়ে মডেল চালানোর জন্য:

val input = FloatBuffer.allocate(data_size)
val output = FloatBuffer.allocate(data_size)
interpreter.run(input, output)

LiteRT নেক্সট দিয়ে মডেল চালানোর জন্য:

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

অন্যান্য লাইব্রেরি

LiteRT Next API গুলি শুধুমাত্র Kotlin এবং C++ এ উপলব্ধ। অন্যান্য ভাষায় LiteRT SDK ব্যবহার করা অ্যাপ্লিকেশনগুলি LiteRT Next-এ স্থানান্তরিত হতে পারে না।

প্লে সার্ভিসেস রানটাইমে LiteRT ব্যবহার করা অ্যাপ্লিকেশনগুলি LiteRT Next-এ স্থানান্তরিত হতে পারে না এবং play-services-tflite রানটাইম ব্যবহার করা চালিয়ে যেতে হবে। টাস্ক লাইব্রেরি এবং মডেল মেকার লাইব্রেরিগুলি LiteRT Next-এ স্থানান্তরিত হতে পারে না এবং TensorFlow Lite API ব্যবহার করা চালিয়ে যেতে হবে৷