Android için LiteRT

LiteRT, web sitenizde TensorFlow makine öğrenimi (ML) modellerini Android uygulamaları. LiteRT sistemi, önceden oluşturulmuş ve özelleştirilebilir hızla ve verimli şekilde Android'de çalıştırmak için seçenekleri vardır.

Makine öğrenimi modelleri

LiteRT, daha küçük ve hassas bir boyuta dönüştürülen TensorFlow modellerini kullanır. daha verimli bir makine öğrenimi modeli biçimi olmalıdır. Önceden oluşturulmuş veya kendi TensorFlow modellerinizi derleyerek dönüştürebilirsiniz.

Bu sayfada, yerleşik makine öğrenimi modellerinin kullanımı ele alınmaktadır. oluşturma, eğitme, test etme veya dönüştürme modellerini kapsar. Daha fazla bilgi: için makine öğrenimi modellerini seçme, değiştirme, derleme ve dönüştürme Modeller sayfasındaki LiteRT.

Modelleri Android'de çalıştırma

Bir Android uygulamasının içinde çalışan LiteRT modeli, verileri alır ve verileri analiz eder ve modelin mantığına göre bir tahmin oluşturur. TensorFlow Lite modelinin yürütülmesi için özel bir çalışma zamanı ortamı gerekir ve modele aktarılan veriler belirli bir veri biçiminde olmalıdır. tensor ekleyin. Bir model çıkarım çalıştırma olarak bilinen bu verileri, tahmin sonuçlarını yeni vardır ve bunları Android uygulamasına iletir. Böylece, veya ek iş mantığı yürütür.

Android'deki LiteRT modelleri için işlevsel yürütme akışı
uygulamalar

Şekil 1. Android'deki LiteRT modelleri için işlevsel yürütme akışı

İşlevsel tasarım düzeyinde, Android uygulamanızın aşağıdakileri yapması için aşağıdaki öğelere ihtiyacı vardır: LiteRT modelini çalıştırın:

  • Modeli çalıştırmak için LiteRT çalışma zamanı ortamı
  • Verileri tensörlere dönüştürmek için model giriş işleyici
  • Çıkış sonucu tensörlerini almak ve bunları yorumlamak için model çıkış işleyici Tahmin sonuçları olarak

Aşağıdaki bölümlerde LiteRT kitaplıkları ve araçlarının sağlamak sizin görevinizdir.

LiteRT ile uygulama geliştirme

Bu bölümde, dönüşüm izlemeyle ilgili olarak önerilen, en sık kullanılan LiteRT'yi seçin. En çok dikkat etmeniz gereken çalışma zamanı ortamı ve geliştirme kitaplıkları bölümlerini inceleyin. Eğer özel bir model geliştirdiyseniz, Analytics 360'taki Gelişmiş geliştirme yollar bölümüne bakın.

Çalışma zamanı ortamı seçenekleri

Modelleri çalıştırmak için çalışma zamanı ortamını etkinleştirmenin birkaç yolu vardır inceleyebilirsiniz. Tercih edilen seçenekler şunlardır:

  • Google Play Hizmetleri çalışma zamanında LiteRT ortam (önerilir)
  • Bağımsız LiteRT çalışma zamanı ortamı

Genel olarak, Google Play tarafından sağlanan çalışma zamanı ortamını kullanmalısınız. daha az yer kapladığı için standart ortamdan daha az alan dinamik olarak yüklendiğinden uygulamanızın boyutunu küçültür. Google Play Hizmetleri de LiteRT'in en yeni ve kararlı sürümünü otomatik olarak kullanır. zamanla size ek özellikler ve iyileştirilmiş performans sağlar. Eğer uygulamanızı, Google Play Hizmetleri'ni içermeyen cihazlarda sunuyorsanız veya ML çalışma zamanı ortamınızı yakından yönetmeniz gerekiyorsa standart LiteRT çalışma zamanı. Bu seçenek, Böylece uygulamanızın makine öğrenimi çalışma zamanı üzerinde daha fazla uygulamanızın indirme boyutunu büyütmenin maliyeti.

Android uygulamanızda bu çalışma zamanı ortamlarına TensorFlow ekleyerek erişebilirsiniz Uygulama geliştirme ortamınız için Lite geliştirme kitaplıkları. Daha fazla bilgi için standart çalışma zamanı ortamlarını nasıl kullanacağınız hakkında daha fazla bilgi için bir sonraki bölümüne bakın.

Kütüphaneler

Çevirmen API'sine erişmek için Google Play hizmet. URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için LiteRT core ve Android uygulamanızdaki destek kitaplıkları. Örneğin, LiteRT kitaplıklarını ve çalışma zamanını kullanmayla ilgili programlama ayrıntıları ortamlarında daha fazla bilgi edinmek için Android için geliştirme araçları bölümüne bakın.

Model edinme

Android uygulamasında model çalıştırmak için LiteRT biçiminde bir model gerekir. Siz Önceden oluşturulmuş modelleri kullanabilir veya TensorFlow ile bir model oluşturup bunu Lite'a dönüştürebilirsiniz. biçimindedir. Android uygulamanız için model edinme hakkında daha fazla bilgi için LiteRT Modelleri sayfası.

Giriş verilerini işleyin

ML modeline aktardığınız tüm veriler, belirli verilere sahip bir tensor olmalıdır Genellikle tensörün şekli olarak adlandırılan yapı. Verileri bir modelle işlemek için uygulama kodunuz, verileri resim, metin ve dil gibi yerel biçimlerinden veya ses verilerini modeliniz için gereken şekilde bir tensöre dönüştürün.

Çıkarımları çalıştırma

Tahmin sonucu oluşturmak için verileri bir model aracılığıyla işlemek Bir çıkarım çalıştırma. Bir Android uygulamasında çıkarım çalıştırmak için LiteRT çalışma zamanı ortamı, model ve giriş verileri de kullanabilirsiniz.

Bir modelin belirli bir cihazda çıkarım oluşturabilme hızı Bu da işlenen verilerin boyutuna, modelin karmaşıklığına ve bellek ve CPU gibi kullanılabilir bilgi işlem kaynakları veya özel işlemciler hızlandırıcı olarak adlandırılır. Makine öğrenimi modelleri bu grafik işlem birimleri (GPU'lar) ve tensor gibi özel işlemciler işlem birimlerini (TPU'lar) kullanır. yetki verilmiş kullanıcı sayısı. Yetki verilmiş kullanıcılar ve donanım hızlandırma hakkında daha fazla bilgi için model işleme için Donanım hızlandırma genel bakış bölümüne bakın.

Çıkış sonuçlarını işleme

Modeller tahmin sonuçlarını tensör olarak oluşturur. Bu sonuçlar, Android uygulaması (işlem yaparak veya kullanıcıya sonuç göstererek) Model çıkışı sonuçlar, tek bir sonuca karşılık gelen bir sayı kadar basit olabilir (0 = köpek, 1 = kedi, 2 = kuş) karşılaştırıldığında, çok daha karmaşık sonuçlar elde edebiliriz. birden çok sınırlayıcı kutu gibi çeşitli sınıflandırılmış nesneler ve 0 ile 1 arasında tahmin güven dereceleri

Gelişmiş geliştirme yolları

Daha gelişmiş ve özelleştirilmiş LiteRT modelleri kullanırken, Yukarıda açıklanandan daha gelişmiş geliştirme yaklaşımları kullanılması gerektiği anlamına gelir. Aşağıdaki bölümlerde model yürütmeye yönelik gelişmiş teknikler ve ve Android uygulamalarında LiteRT için geliştiriyoruz.

Gelişmiş çalışma zamanı ortamları

Standart çalışma zamanına ve Google Play Hizmetleri çalışma zamanına ek olarak, ortamlarına ek olarak, her biri kendine ait olan ve kullanabileceğiniz araçlar. Bu ortamlar için en olası kullanım Desteklenmeyen makine öğrenimi işlemlerini kullanan bir makine öğrenimi modeliniz varsa .

LiteRT Flex çalışma zamanı şunları eklemenize olanak tanır: modeliniz için gereken belirli operatörler. Koşu için gelişmiş bir seçenek olarak kullanarak Android için LiteRT oluşturabilir ve böylece, operatörler ve çalıştırmak için gereken diğer işlevlere sahiptir. Daha fazla bilgi için Android için LiteRT oluşturma sayfasına bakın.

C ve C++ API'leri

LiteRT ayrıca C ve C++ kullanan modelleri çalıştırmak için bir API sunar. Eğer Android NDK kullanıyorsa bu API'yi kullanabilirsiniz. Aşağıdaki durumlarda da bu API'yi kullanabilirsiniz: birden fazla platform arasında kod paylaşabilmek istiyor musunuz? Okuyucu Gelirleri Yöneticisi'ni daha fazla bilgi için Geliştirme araçlar sayfasını ziyaret edin.

Sunucu tabanlı model yürütme

Genel olarak, uygulamanızın içindeki modelleri almak için bir Android cihazda daha düşük gecikme ve kullanıcılarınız için iyileştirilmiş veri gizliliği avantajından yararlanın. Ancak, Cihaz dışında bulut sunucusunda model çalıştırmanın çözümüne geçelim. Örneğin, kolayca sıkıştırılamayan büyük bir modeliniz varsa, ve kullanıcılarınızın ihtiyaçlarına uygun bir boyuta Android cihazlar üzerinden çalıştırılabilir veya bu cihazlarda makul bir performansa sahip olabilir. Bu yaklaşım aynı zamanda model performansı çok geniş bir aralıkta tutarlı bir performans sergileyecek şekilde en yüksek önceliğe sahip olduğunu görebilirsiniz.

Google Cloud, TensorFlow makinelerini çalıştırmak için eksiksiz bir hizmet paketi sunar. öğrenme modelleridir. Daha fazla bilgi için Google Cloud'un yapay zeka ve makine öğrenimi eğitim ürünleri sayfası.

Özel model geliştirme ve optimizasyonu

Daha gelişmiş geliştirme yolları büyük olasılıkla özel makine geliştirmeyi içerir modellerini öğrenme ve bu modelleri Android cihazlarda kullanım için optimize etme. Şu durumda: özel modeller oluşturmayı planlıyorsanız, projenizin her aşamasında nicelleştirme tekniklerini ve işlem maliyetlerini azaltır. Nasıl oluşturabileceğinizle ilgili LiteRT ile kullanılacak yüksek performanslı modeller hakkında bilgi edinin. En iyi performans modelleri bölümüne göz atın.