TensorFlow.js'yi React Native uygulamasında kullanma

Bu öğreticide, gerçek zamanlı poz algılama yapmak için TensorFlow poz algılama modelini ( MoveNet.SinglePose.Lightning ) kullanan bir React Native örnek uygulamasını yükleyip çalıştıracaksınız. React Native için TensorFlow.js platform adaptörü üzerine inşa edilen uygulama, ön ve arka kameralarla hem dikey hem de yatay modları destekler.

Önkoşullar

Bu öğreticiyi tamamlamak için geliştirme ortamınızda aşağıdakilerin yüklü olması gerekir:

TensorFlow.js React Native platform bağdaştırıcısı expo-gl ve expo-gl-cpp'ye bağlıdır, dolayısıyla React Native'in Expo tarafından desteklenen bir sürümünü kullanmanız gerekir.

Örnek uygulamayı yükleyin ve çalıştırın

  1. tfjs-examples deposunu klonlayın veya indirin.
  2. react-native/pose-detection dizinine geçin:

    cd tfjs-examples/react-native/pose-detection
    
  3. Bağımlılıkları yükleyin:

    yarn
    
  4. Örnek uygulamayı yerel olarak çalıştırın:

    yarn start
    

Uygulamayı çalıştırdığınızda terminal bir QR kodu görüntüler.

Starting Metro Bundler
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▄▀ ▀   ███ ▄▄▄▄▄ █
█ █   █ █   █▀ █ ▀█ █   █ █
█ █▄▄▄█ █▄█▀ ▄▀█▄▀█ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █▄▀ █▄▄▄▄▄▄▄█
█▄  ▄▀█▄█ █ ▄ ▀▀▄▄▄██▄ ▄▀▄█
██▄▀▀█▀▄█▀  ▄▄▀ █▀█ ▀██▀███
█▄▄▀ ▀▀▄▄▄ ▄▀ ▄█ ▄█ ▄ █ █▀█
█▀▄▄ ▄▄▄▀ ▄  █▄██ ▀▀█▀▀█ ▀█
███▄▄██▄█▀▄██▄  ▄ ▄▄▄ ▀▄█▀█
█ ▄▄▄▄▄ ██  ▀██▀█ █▄█ █▄▄ █
█ █   █ █▀█ ███▀▀▄▄   █▀ ▀█
█ █▄▄▄█ █ ▀▀▀▀▀▄▀▄▀▄█▄▄ ▄██
█▄▄▄▄▄▄▄█▄██▄▄██▄██████▄▄▄█

› Metro waiting on exp://192.168.0.6:19000

QR kodunu Expo Go'nun yüklü olduğu bir telefonla veya başka bir test cihazıyla tarayın. Örnek uygulama Expo Go'da açılmalıdır.

Aşağıdaki ekran görüntüleri, uygulamanın kullanıcının vücudundaki önemli noktaları tespit edip oluşturduğunu göstermektedir.

PortreManzara

Örnekte TensorFlow.js kitaplıklarının nasıl kullanıldığını anlamak için App.tsx'e bakın. Bu dosyadaki yorumlar tensör boyutunun nasıl yapılandırılacağını, modelin nasıl yükleneceğini, poz algılamanın nasıl çalıştırılacağını ve daha fazlasını açıklar.

TensorFlow.js kullanarak poz algılama hakkında daha fazla bilgi edinmek için bu blog gönderisine bakın.

Reactive Native platform adaptörü hakkında daha fazla bilgi

React Native için TensorFlow.js platform adaptörü, TensorFlow.js'nin GPU ile hızlandırılmış yürütülmesini sağlar ve TensorFlow.js kullanımının tüm ana modlarını destekler:

  • Hem model çıkarımı hem de eğitim desteği
  • Expo-gl aracılığıyla WebGL ile GPU desteği
  • Web'den önceden eğitilmiş modelleri yükleme desteği
  • IOHandler , eşzamansız depolamadan yükleme modellerini ve uygulama paketinde derlenen modelleri destekleyecektir

Kurulum talimatlarının tamamı için React Native platform adaptörü README'ye bakın.

React Native için TensorFlow.js sorunlarını giderme

Uygulamanız başlangıçta çökerse kurulumunuzu değiştirmeniz gerekebilir. React Native için platform bağdaştırıcısını ayarlama hakkında daha fazla bilgi edinmek için README'ye bakın.