از TensorFlow.js در برنامه React Native استفاده کنید

در این آموزش شما یک برنامه نمونه React Native را نصب و اجرا می‌کنید که از یک مدل تشخیص وضعیت TensorFlow ( MoveNet.SinglePose.Lightning ) برای انجام تشخیص پوز در زمان واقعی استفاده می‌کند. این برنامه که بر روی آداپتور پلتفرم TensorFlow.js برای React Native ساخته شده است، از هر دو حالت عمودی و افقی با دوربین های جلو و عقب پشتیبانی می کند.

پیش نیازها

برای تکمیل این آموزش، باید موارد زیر را در محیط توسعه خود نصب کنید:

آداپتور پلتفرم TensorFlow.js React Native به expo-gl و expo-gl-cpp بستگی دارد، بنابراین باید از نسخه‌ای از React Native استفاده کنید که توسط Expo پشتیبانی می‌شود.

برنامه نمونه را نصب و اجرا کنید

  1. مخزن tfjs-examples را کلون یا دانلود کنید.
  2. به دایرکتوری react-native/pose-detection تغییر دهید:

    cd tfjs-examples/react-native/pose-detection
    
  3. نصب وابستگی ها:

    yarn
    
  4. برنامه نمونه را به صورت محلی اجرا کنید:

    yarn start
    

هنگامی که برنامه را اجرا می کنید، ترمینال یک کد QR را نمایش می دهد.

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

› Metro waiting on exp://192.168.0.6:19000

کد QR را با تلفن یا دستگاه تست دیگری که Expo Go نصب شده است اسکن کنید. برنامه نمونه باید در Expo Go باز شود.

اسکرین شات های زیر برنامه را نشان می دهد که نقاط کلیدی بدن کاربر را شناسایی و ارائه می کند.

پرترهچشم انداز

برای درک نحوه استفاده از کتابخانه‌های TensorFlow.js در مثال، به App.tsx نگاه کنید. نظرات آن فایل نحوه پیکربندی اندازه تانسور، بارگذاری مدل، اجرای تشخیص پوس و موارد دیگر را توضیح می‌دهد.

برای کسب اطلاعات بیشتر در مورد تشخیص پوس با استفاده از TensorFlow.js، به این پست وبلاگ مراجعه کنید.

اطلاعات بیشتر در مورد آداپتور پلتفرم Reactive Native

آداپتور پلتفرم TensorFlow.js برای React Native اجرای تسریع شده توسط GPU TensorFlow.js را فراهم می کند و از تمام حالت های اصلی استفاده از TensorFlow.js پشتیبانی می کند:

  • پشتیبانی از استنباط مدل و آموزش
  • پشتیبانی از GPU با WebGL از طریق expo-gl
  • پشتیبانی از بارگذاری مدل های از پیش آموزش دیده از وب
  • IOHandler برای پشتیبانی از مدل‌های بارگیری از حافظه غیرهمگام و مدل‌هایی که در بسته نرم افزاری کامپایل شده‌اند.

برای دستورالعمل‌های نصب کامل، به آداپتور پلتفرم React Native README مراجعه کنید.

عیب یابی TensorFlow.js برای React Native

اگر برنامه شما هنگام راه اندازی خراب می شود، ممکن است لازم باشد تنظیمات خود را تغییر دهید. برای کسب اطلاعات بیشتر در مورد تنظیم آداپتور پلتفرم برای React Native، به README مراجعه کنید.