Construire le package de roue Python TensorFlow Lite

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cette page décrit comment créer la bibliothèque Python TensorFlow Lite tflite_runtime pour x86_64 et divers appareils ARM.

Les instructions suivantes ont été testées sur Ubuntu 16.04.3 PC 64 bits (AMD64), macOS Catalina (x86_64) et TensorFlow devel Docker image tensorflow/tensorflow:devel .

Conditions préalables

Vous devez installer CMake et une copie du code source de TensorFlow. Veuillez consulter la page Build TensorFlow Lite with CMake pour plus de détails.

Pour créer le package PIP pour votre poste de travail, vous pouvez exécuter les commandes suivantes.

PYTHON=python3 tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh native

Compilation croisée ARM

Pour la compilation croisée ARM, il est recommandé d'utiliser Docker car il facilite la configuration de l'environnement de construction croisée. Vous avez également besoin d'une option target pour déterminer l'architecture cible.

Il existe un outil d'assistance dans Makefile tensorflow/lite/tools/pip_package/Makefile disponible pour invoquer une commande de construction à l'aide d'un conteneur Docker prédéfini. Sur une machine hôte Docker, vous pouvez exécuter une commande de génération comme suit.

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=<target> PYTHON_VERSION=<python3 version>

Noms de cibles disponibles

tensorflow/lite/tools/pip_package/build_pip_package_with_cmake.sh a besoin d'un nom de cible pour comprendre l'architecture cible. Voici la liste des cibles prises en charge.

Cibler Architecture cible commentaires
armhf VFP ARMv7 avec néon Compatible avec Raspberry Pi 3 et 4
rpi0 ARMv6 Compatible avec Raspberry Pi Zero
aarch64 aarch64 (ARM 64 bits) Corail Mendel Linux 4.0
Raspberry Pi avec Ubuntu Server 20.04.01 LTS 64 bits
originaire de Votre poste de travail Il construit avec l'optimisation "-mnative"
Votre poste de travail Cible par défaut

Construire des exemples

Voici quelques exemples de commandes que vous pouvez utiliser.

cible armhf pour Python 3.7

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=armhf PYTHON_VERSION=3.7

cible aarch64 pour Python 3.8

make -C tensorflow/lite/tools/pip_package docker-build \
  TENSORFLOW_TARGET=aarch64 PYTHON_VERSION=3.8

Comment utiliser une chaîne d'outils personnalisée ?

Si les fichiers binaires générés ne sont pas compatibles avec votre cible, vous devez utiliser votre propre chaîne d'outils ou fournir des indicateurs de construction personnalisés. (Cochez ceci pour comprendre votre environnement cible) Dans ce cas, vous devez modifier tensorflow/lite/tools/cmake/download_toolchains.sh pour utiliser votre propre chaîne d'outils. Le script de la chaîne d'outils définit les deux variables suivantes pour le script build_pip_package_with_cmake.sh .

Variable But Exemple
ARMCC_PREFIX définit le préfixe de la chaîne d'outils arm-linux-gnueabihf-
ARMCC_FLAGS indicateurs de compilation -march=armv7-a -mfpu=néon-vfpv4