सीएमके के साथ क्रॉस संकलन TensorFlow Lite

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

यह पृष्ठ बताता है कि विभिन्न एआरएम उपकरणों के लिए TensorFlow Lite पुस्तकालय कैसे बनाया जाए।

निम्नलिखित निर्देशों का परीक्षण Ubuntu 16.04.3 64-बिट PC (AMD64), TensorFlow devel docker image tensorflow/tensorflow:devel पर किया गया है।

आवश्यक शर्तें

आपको सीएमके को स्थापित और डाउनलोड किए गए TensorFlow स्रोत कोड की आवश्यकता है। विवरण के लिए कृपया सीएमके पेज के साथ बिल्ड टेंसरफ्लो लाइट देखें।

अपने लक्षित परिवेश की जाँच करें

रास्पबेरी पाई ओएस, उबंटू सर्वर 20.04 एलटीएस और मेंडल लिनक्स 4.0 के तहत निम्नलिखित उदाहरणों का परीक्षण किया जाता है। आपके लक्षित ग्लिबैक संस्करण और सीपीयू क्षमताओं के आधार पर, आपको टूलचेन के विभिन्न संस्करणों का उपयोग करने और पैरामीटर बनाने की आवश्यकता हो सकती है।

ग्लिबक संस्करण की जाँच करना

ldd --version
ldd (Debian GLIBC 2.28-10) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

ABI संगतता की जाँच करना

यदि आपका लक्ष्य एआरएम 32-बिट है, तो वीएफपी उपलब्धता के आधार पर दो एबीआई उपलब्ध हैं। आर्मफ और आर्मल । यह दस्तावेज़ एक armhf उदाहरण दिखाता है, आपको आर्मल लक्ष्य के लिए विभिन्न टूलचेन का उपयोग करने की आवश्यकता है।

CPU क्षमता की जाँच करना

ARMv7 के लिए, आपको लक्ष्य के समर्थित VFP संस्करण और नीयन उपलब्धता के बारे में पता होना चाहिए।

cat /proc/cpuinfo
processor   : 0
model name  : ARMv7 Processor rev 3 (v7l)
BogoMIPS    : 108.00
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xd08
CPU revision    : 3

AArch64 (ARM64) के लिए बनाएँ

यह निर्देश दिखाता है कि AArch64 बाइनरी कैसे बनाई जाती है जो कोरल मेंडल लिनक्स 4.0 , रास्पबेरी पाई ( उबंटू सर्वर 20.04.01 एलटीएस 64-बिट स्थापित के साथ) के साथ संगत है।

टूलचेन डाउनलोड करें

ये कमांड ${HOME}/toolchains के तहत gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu टूलचैन स्थापित करते हैं।

curl -LO https://storage.googleapis.com/mirror.tensorflow.org/developer.arm.com/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
mkdir -p ${HOME}/toolchains
tar xvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C ${HOME}/toolchains

सीएमके चलाएं

ARMCC_PREFIX=${HOME}/toolchains/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-
ARMCC_FLAGS="-funsafe-math-optimizations"
cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
  -DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
  -DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DCMAKE_SYSTEM_NAME=Linux \
  -DCMAKE_SYSTEM_PROCESSOR=aarch64 \
  ../tensorflow/lite/

ARMv7 नीयन सक्षम के लिए निर्माण

यह निर्देश दिखाता है कि VFPv4 और नीयन सक्षम बाइनरी के साथ ARMv7 कैसे बनाया जाए जो रास्पबेरी पाई 3 और 4 के साथ संगत है।

टूलचेन डाउनलोड करें

ये कमांड ${HOME}/toolchains के तहत gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf टूलचैन स्थापित करते हैं।

curl -LO https://storage.googleapis.com/mirror.tensorflow.org/developer.arm.com/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
mkdir -p ${HOME}/toolchains
tar xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C ${HOME}/toolchains

सीएमके चलाएं

ARMCC_FLAGS="-march=armv7-a -mfpu=neon-vfpv4 -funsafe-math-optimizations -mfp16-format=ieee"
ARMCC_PREFIX=${HOME}/toolchains/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
  -DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
  -DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DCMAKE_SYSTEM_NAME=Linux \
  -DCMAKE_SYSTEM_PROCESSOR=armv7 \
  ../tensorflow/lite/

रास्पबेरी पाई ज़ीरो (ARMv6) के लिए बनाएँ

यह निर्देश दिखाता है कि एआरएमवी 6 बाइनरी कैसे बनाया जाए जो रास्पबेरी पाई ज़ीरो के साथ संगत है।

टूलचेन डाउनलोड करें

ये कमांड ${HOME}/toolchains के अंतर्गत arm-rpi-linux-gnueabihf टूलचैन स्थापित करते हैं।

curl -L https://github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz -o rpi-toolchain.tar.gz
tar xzf rpi-toolchain.tar.gz -C ${HOME}/toolchains
mv ${HOME}/toolchains/rpi-newer-crosstools-eb68350c5c8ec1663b7fe52c742ac4271e3217c5 ${HOME}/toolchains/arm-rpi-linux-gnueabihf

सीएमके चलाएं

ARMCC_PREFIX=${HOME}/toolchains/arm-rpi-linux-gnueabihf/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-
ARMCC_FLAGS="-march=armv6 -mfpu=vfp -funsafe-math-optimizations"
cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
  -DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
  -DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DCMAKE_SYSTEM_NAME=Linux \
  -DCMAKE_SYSTEM_PROCESSOR=armv6 \
  -DTFLITE_ENABLE_XNNPACK=OFF \
  ../tensorflow/lite/