LiteRT ju lejon të ekzekutoni modelet TensorFlow, PyTorch dhe JAX në aplikacionet tuaja Android. Sistemi LiteRT ofron mjedise ekzekutimi të parandërtuara dhe të personalizueshme për ekzekutimin e modeleve në Android shpejt dhe me efikasitet, duke përfshirë opsionet për përshpejtimin e harduerit.
Për shembull, aplikacionet Android që përdorin LiteRT, shihni depon e mostrave të LiteRT .
Modelet e mësimit të makinerive
LiteRT përdor modele TensorFlow, PyTorch dhe JAX që konvertohen në një format më të vogël, portativ dhe më efikas të modelit të mësimit të makinerive. Mund të përdorni modele të para-ndërtuara me LiteRT në Android, ose të ndërtoni modelet tuaja dhe t'i konvertoni në formatin LiteRT.
Kjo faqe diskuton përdorimin e modeleve të mësimit të makinerive të ndërtuara tashmë dhe nuk mbulon ndërtimin, trajnimin, testimin ose konvertimin e modeleve. Mësoni më shumë rreth zgjedhjes, modifikimit, ndërtimit dhe konvertimit të modeleve të mësimit të makinerive për LiteRT në faqen Modelet .
Ekzekutoni modelet në Android
Një model LiteRT që funksionon brenda një aplikacioni Android merr të dhëna, përpunon të dhënat dhe gjeneron një parashikim bazuar në logjikën e modelit. Një model LiteRT kërkon një mjedis të veçantë të ekzekutimit për t'u ekzekutuar dhe të dhënat që kalohen në model duhet të jenë në një format specifik të dhënash, të quajtur tensor . Kur një model përpunon të dhënat, të njohura si ekzekutimi i një konkluzion , ai gjeneron rezultate parashikimi si tensorë të rinj dhe ia kalon ato aplikacionit Android në mënyrë që të mund të ndërmarrë veprime, si p.sh. shfaqja e rezultatit te një përdorues ose ekzekutimi i logjikës shtesë të biznesit.
Figura 1. Rrjedha e ekzekutimit funksional për modelet LiteRT në aplikacionet Android.
Në nivelin funksional të dizajnit, aplikacioni juaj Android ka nevojë për elementët e mëposhtëm për të ekzekutuar një model LiteRT:
- Mjedisi i kohës së funksionimit LiteRT për ekzekutimin e modelit
- Modeli i mbajtësit të hyrjes për të transformuar të dhënat në tensorë
- Modeloni mbajtësin e daljes për të marrë tensorët e rezultateve të daljes dhe për t'i interpretuar ato si rezultate parashikimi
Seksionet e mëposhtme përshkruajnë se si bibliotekat dhe mjetet e LiteRT ofrojnë këto elemente funksionale.
Ndërtoni aplikacione me LiteRT
Ky seksion përshkruan rrugën e rekomanduar, më të zakonshme për zbatimin e LiteRT në aplikacionin tuaj Android. Ju duhet t'i kushtoni më shumë vëmendje seksioneve të mjedisit të ekzekutimit dhe bibliotekave të zhvillimit . Nëse keni zhvilluar një model të personalizuar, sigurohuni që të rishikoni seksionin Shtigjet e avancuara të zhvillimit .
Opsionet e mjedisit të kohës së ekzekutimit
Ka disa mënyra se si mund të aktivizoni një mjedis ekzekutimi për ekzekutimin e modeleve në aplikacionin tuaj Android. Këto janë opsionet e preferuara:
- LiteRT në mjedisin e ekzekutimit të shërbimeve të Google Play (rekomandohet)
- Mjedisi i pavarur i kohës së funksionimit LiteRT
Në përgjithësi, duhet të përdorni mjedisin e kohës së ekzekutimit të ofruar nga shërbimet e Google Play sepse është më efikas në hapësirë se mjedisi standard pasi ngarkon në mënyrë dinamike, duke e mbajtur madhësinë e aplikacionit tuaj më të vogël. Shërbimet e Google Play përdorin gjithashtu automatikisht versionin më të fundit, të qëndrueshëm të kohës së funksionimit LiteRT, duke ju dhënë veçori shtesë dhe performancë të përmirësuar me kalimin e kohës. Nëse e ofroni aplikacionin tuaj në pajisje që nuk përfshijnë shërbimet e Google Play ose ju duhet të menaxhoni nga afër mjedisin tuaj të kohës së ekzekutimit ML, atëherë duhet të përdorni kohën standarde të funksionimit LiteRT. Ky opsion bashkon kodin shtesë në aplikacionin tuaj, duke ju lejuar të keni më shumë kontroll mbi kohën e ekzekutimit të ML në aplikacionin tuaj me koston e rritjes së madhësisë së shkarkimit të aplikacionit tuaj.
Ju aksesoni këto mjedise të kohës së ekzekutimit në aplikacionin tuaj Android duke shtuar bibliotekat e zhvillimit LiteRT në mjedisin e zhvillimit të aplikacionit tuaj. Për informacion rreth përdorimit të mjediseve standarde të kohës së funksionimit në aplikacionin tuaj, shihni seksionin vijues.
Bibliotekat
Mund të përdorni API-në e Interpreterit duke përdorur shërbimet e Google Play . Mund të përdorni bibliotekat kryesore dhe mbështetëse LiteRT në aplikacionin tuaj Android. Për detaje programimi rreth përdorimit të bibliotekave LiteRT dhe mjediseve të kohës së funksionimit, shihni Veglat e zhvillimit për Android .
Merrni modele
Drejtimi i një modeli në një aplikacion Android kërkon një model të formatit LiteRT. Mund të përdorni modele të parandërtuara ose të ndërtoni një dhe ta konvertoni në formatin Lite. Për më shumë informacion mbi marrjen e modeleve për aplikacionin tuaj Android, shihni faqen LiteRT Models .
Trajtoni të dhënat hyrëse
Çdo e dhënë që kalon në një model ML duhet të jetë një tensor me një strukturë specifike të dhënash, që shpesh quhet forma e tensorit. Për të përpunuar të dhënat me një model, kodi i aplikacionit tuaj duhet t'i transformojë të dhënat nga formati i tij origjinal, si imazhi, teksti ose të dhënat audio, në një tensor në formën e kërkuar për modelin tuaj.
Drejtoni konkluzionet
Përpunimi i të dhënave përmes një modeli për të gjeneruar një rezultat parashikimi njihet si ekzekutimi i një përfundimi . Ekzekutimi i një konkluzioni në një aplikacion Android kërkon një mjedis kohëzgjatjeje LiteRT, një model dhe të dhëna hyrëse .
Shpejtësia me të cilën një model mund të gjenerojë një konkluzion në një pajisje të caktuar varet nga madhësia e të dhënave të përpunuara, kompleksiteti i modelit dhe burimet e disponueshme kompjuterike si memoria dhe CPU, ose procesorë të specializuar të quajtur përshpejtues . Modelet e mësimit të makinerisë mund të funksionojnë më shpejt në këta procesorë të specializuar si njësitë e përpunimit grafik (GPU) dhe njësitë e përpunimit tensor (TPU), duke përdorur drejtuesit e harduerit LiteRT të quajtur delegatë . Për më shumë informacion rreth delegatëve dhe përshpejtimit të harduerit të përpunimit të modelit, shihni përmbledhjen e përshpejtimit të harduerit .
Trajtoni rezultatet e daljes
Modelet gjenerojnë rezultate parashikimi si tensorë, të cilët duhet të trajtohen nga aplikacioni juaj Android duke ndërmarrë veprime ose duke shfaqur një rezultat tek përdoruesi. Rezultatet e daljes së modelit mund të jenë aq të thjeshta sa një numër që korrespondon me një rezultat të vetëm (0 = qen, 1 = mace, 2 = zog) për një klasifikim imazhi, deri në rezultate shumë më komplekse, të tilla si kutitë e shumta kufizuese për disa objekte të klasifikuara në një imazh, me vlerësime të besimit të parashikimit midis 0 dhe 1.
Rrugët e avancuara të zhvillimit
Kur përdorni modele më të sofistikuara dhe të personalizuara LiteRT, mund t'ju duhet të përdorni qasje më të avancuara zhvillimi sesa ato që përshkruhen më sipër. Seksionet e mëposhtme përshkruajnë teknika të avancuara për ekzekutimin e modeleve dhe zhvillimin e tyre për LiteRT në aplikacionet Android.
Mjedise të avancuara të funksionimit
Përveç mjediseve standarde të kohës së ekzekutimit dhe shërbimeve të Google Play për LiteRT, ka mjedise shtesë të kohës së ekzekutimit që mund t'i përdorni me aplikacionin tuaj Android. Përdorimi më i mundshëm për këto mjedise është nëse keni një model të mësimit të makinës që përdor operacione ML që nuk mbështeten nga mjedisi standard i kohës së funksionimit për LiteRT.
- Flex kohën e funksionimit për LiteRT
- Koha e ekzekutimit e LiteRT e krijuar me porosi
Koha e funksionimit LiteRT Flex ju lejon të përfshini operatorë specifikë të kërkuar për modelin tuaj. Si një opsion i avancuar për ekzekutimin e modelit tuaj, mund të ndërtoni LiteRT për Android për të përfshirë operatorët dhe funksionalitete të tjera të nevojshme për ekzekutimin e modelit tuaj të mësimit të makinerive TensorFlow. Për më shumë informacion, shihni Build LiteRT për Android .
API-të C dhe C++
LiteRT gjithashtu ofron një API për modelet e ekzekutimit duke përdorur C dhe C++. Nëse aplikacioni juaj përdor Android NDK , duhet të konsideroni përdorimin e këtij API. Ju gjithashtu mund të dëshironi të konsideroni përdorimin e këtij API nëse dëshironi të jeni në gjendje të ndani kodin midis platformave të shumta. Për më shumë informacion rreth këtij opsioni zhvillimi, shihni faqen Veglat e zhvillimit .
Ekzekutimi i modelit të bazuar në server
Në përgjithësi, duhet të ekzekutoni modele në aplikacionin tuaj në një pajisje Android për të përfituar nga vonesa më e ulët dhe privatësia e përmirësuar e të dhënave për përdoruesit tuaj. Megjithatë, ka raste kur ekzekutimi i një modeli në një server cloud, jashtë pajisjes, është një zgjidhje më e mirë. Për shembull, nëse keni një model të madh i cili nuk ngjesh lehtësisht në një madhësi që përshtatet në pajisjet Android të përdoruesve tuaj, ose mund të ekzekutohet me performancë të arsyeshme në ato pajisje. Kjo qasje mund të jetë gjithashtu zgjidhja juaj e preferuar nëse performanca e qëndrueshme e modelit në një gamë të gjerë pajisjesh është përparësia kryesore.
Google Cloud ofron një grup të plotë shërbimesh për ekzekutimin e modeleve të AI. Për më shumë informacion, shihni faqen e produkteve të AI dhe të mësimit të makinerive të Google Cloud.
Zhvillimi dhe optimizimi i modelit me porosi
Rrugët më të avancuara të zhvillimit ka të ngjarë të përfshijnë zhvillimin e modeleve të personalizuara të mësimit të makinerive dhe optimizimin e këtyre modeleve për përdorim në pajisjet Android. Nëse planifikoni të ndërtoni modele me porosi, sigurohuni që të konsideroni aplikimin e teknikave të kuantizimit në modele për të reduktuar kostot e kujtesës dhe përpunimit. Për më shumë informacion se si të ndërtoni modele me performancë të lartë për t'u përdorur me LiteRT, shihni praktikat më të mira të performancës në seksionin Modelet.