Përmbledhje e konvertimit të modelit TensorFlow

Modelet e të mësuarit automatik (ML) që përdorni me LiteRT fillimisht ndërtohen dhe trajnohen duke përdorur bibliotekat dhe mjetet kryesore të TensorFlow. Pasi të keni ndërtuar një model me bërthamën e TensorFlow, mund ta konvertoni atë në një format modeli ML më të vogël dhe më efikas të quajtur model LiteRT. Ky seksion ofron udhëzime për konvertimin e modeleve tuaja TensorFlow në formatin e modelit LiteRT.

Fluksi i punës së konvertimit

Konvertimi i modeleve TensorFlow në formatin LiteRT mund të ndjekë disa rrugë në varësi të përmbajtjes së modelit tuaj ML. Si hap i parë i këtij procesi, duhet të vlerësoni modelin tuaj për të përcaktuar nëse mund të konvertohet drejtpërdrejt. Ky vlerësim përcakton nëse përmbajtja e modelit mbështetet nga mjediset standarde të kohës së ekzekutimit LiteRT bazuar në operacionet TensorFlow që përdor. Nëse modeli juaj përdor operacione jashtë grupit të mbështetur, keni mundësinë të rifaktoni modelin tuaj ose të përdorni teknika të përparuara të konvertimit.

Diagrami më poshtë tregon hapat e nivelit të lartë në konvertimin e një modeli.

Fluksi i punës së konvertimit në TFLite. Fluksi i punës për konvertimin në TFLite.

Figura 1. Rrjedha e punës së konvertimit në LiteRT.

Seksionet e mëposhtme përshkruajnë procesin e vlerësimit dhe konvertimit të modeleve për përdorim me LiteRT.

Formatet e modelit të hyrjes

Mund ta përdorni konvertuesin me formatet e mëposhtme të modelit të hyrjes:

Mund t’i ruani modelet e funksionit Keras dhe konkret si një SavedModel dhe t’i konvertoni duke përdorur rrugën e rekomanduar.

Nëse keni një model Jax, mund të përdorni API-në TFLiteConverter.experimental_from_jax për ta konvertuar atë në formatin LiteRT. Vini re se kjo API mund të ndryshojë gjatë modalitetit eksperimental.

Vlerësimi i konvertimit

Vlerësimi i modelit tuaj është një hap i rëndësishëm përpara se të përpiqeni ta konvertoni atë. Gjatë vlerësimit, duhet të përcaktoni nëse përmbajtja e modelit tuaj është e pajtueshme me formatin LiteRT. Gjithashtu, duhet të përcaktoni nëse modeli juaj është i përshtatshëm për përdorim në pajisjet mobile dhe periferike për sa i përket madhësisë së të dhënave që përdor modeli, kërkesave të tij për përpunimin e harduerit dhe madhësisë dhe kompleksitetit të përgjithshëm të modelit.

Për shumë modele, konvertuesi duhet të funksionojë menjëherë. Megjithatë, biblioteka e integruar e operatorëve LiteRT mbështet një nëngrup të operatorëve kryesorë të TensorFlow, që do të thotë se disa modele mund të kenë nevojë për hapa shtesë para se të konvertohen në LiteRT. Përveç kësaj, disa operacione që mbështeten nga LiteRT kanë kërkesa të kufizuara përdorimi për arsye performance. Shihni udhëzuesin e përputhshmërisë së operatorëve për të përcaktuar nëse modeli juaj duhet të rifaktorizohet për konvertim.

Konvertimi i modelit

Konvertuesi LiteRT merr një model TensorFlow dhe gjeneron një model LiteRT (një format i optimizuar FlatBuffer i identifikuar nga prapashtesa e skedarit .tflite ). Mund të ngarkoni një SavedModel ose të konvertoni direkt një model që krijoni në kod.

Konvertuesi merr 3 flamuj kryesorë (ose opsione) që e personalizojnë konvertimin për modelin tuaj:

  1. Flamujt e përputhshmërisë ju lejojnë të specifikoni nëse konvertimi duhet të lejojë operatorë të personalizuar.
  2. Flamujt e optimizimit ju lejojnë të specifikoni llojin e optimizimit që do të aplikohet gjatë konvertimit. Teknika më e përdorur e optimizimit është kuantifikimi pas trajnimit .
  3. Flamujt e meta të dhënave ju lejojnë të shtoni meta të dhëna në modelin e konvertuar, gjë që e bën më të lehtë krijimin e kodit të mbështjellësit specifik të platformës kur vendosni modele në pajisje.

Mund ta konvertoni modelin tuaj duke përdorur API-n Python ose mjetin e linjës së komandës . Shihni udhëzuesin e modelit Convert TF për udhëzime hap pas hapi se si ta ekzekutoni konvertuesin në modelin tuaj.

Zakonisht do ta konvertonit modelin tuaj për mjedisin standard të ekzekutimit LiteRT ose mjedisin e ekzekutimit të shërbimeve Google Play për LiteRT (Beta). Disa raste përdorimi të avancuara kërkojnë personalizim të mjedisit të ekzekutimit të modelit, të cilat kërkojnë hapa shtesë në procesin e konvertimit. Shihni seksionin e mjedisit të avancuar të ekzekutimit në përmbledhjen e Android për më shumë udhëzime.

Konvertim i avancuar

Nëse hasni gabime gjatë ekzekutimit të konvertuesit në modelin tuaj, ka shumë të ngjarë që të keni një problem me pajtueshmërinë e operatorit. Jo të gjitha operacionet e TensorFlow mbështeten nga TensorFlow Lite. Mund t'i zgjidhni këto probleme duke rifaktorizuar modelin tuaj ose duke përdorur opsione të përparuara konvertimi që ju lejojnë të krijoni një model të modifikuar të formatit LiteRT dhe një mjedis të personalizuar të kohës së ekzekutimit për atë model.

Hapat e ardhshëm