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 ব্যবহার করা চালিয়ে যেতে হবে৷