در این آموزش شما یک برنامه نمونه React Native را نصب و اجرا میکنید که از یک مدل تشخیص وضعیت TensorFlow ( MoveNet.SinglePose.Lightning ) برای انجام تشخیص پوز در زمان واقعی استفاده میکند. این برنامه که بر روی آداپتور پلتفرم TensorFlow.js برای React Native ساخته شده است، از هر دو حالت عمودی و افقی با دوربین های جلو و عقب پشتیبانی می کند.
پیش نیازها
برای تکمیل این آموزش، باید موارد زیر را در محیط توسعه خود نصب کنید:
آداپتور پلتفرم TensorFlow.js React Native به expo-gl و expo-gl-cpp بستگی دارد، بنابراین باید از نسخهای از React Native استفاده کنید که توسط Expo پشتیبانی میشود.
برنامه نمونه را نصب و اجرا کنید
- مخزن
tfjs-examples
را کلون یا دانلود کنید. به دایرکتوری
react-native/pose-detection
تغییر دهید:cd tfjs-examples/react-native/pose-detection
نصب وابستگی ها:
yarn
برنامه نمونه را به صورت محلی اجرا کنید:
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 مراجعه کنید.