Création du package pip TensorFlow Hub à l'aide de Linux

Si vous apportez des modifications au package pip de TensorFlow Hub, vous souhaiterez probablement reconstruire le package pip à partir du code source pour tester vos modifications.

Cela nécessite :

  • Python
  • TensorFlow
  • Git
  • Bazel

Sinon, si vous installez le compilateur protobuf, vous pouvez tester vos modifications sans utiliser bazel .

Configurer un environnement virtuel

Activer l'environnement virtuel

Installez virtualenv s'il n'est pas déjà installé :

~$ sudo apt-get install python-virtualenv

Créer un environnement virtuel pour la création du package :

~$ virtualenv --system-site-packages tensorflow_hub_env

Et activez-le :

~$ source ~/tensorflow_hub_env/bin/activate  # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh  # csh or tcsh

Clonez le dépôt TensorFlow Hub.

(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub

Testez vos modifications

Exécutez les tests de TensorFlow Hub

(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all

Compilez et installez le package

Générer le script de packaging pip de TensorFlow Hub

Pour créer un package pip pour TensorFlow Hub :

(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package

Créez le package pip TensorFlow Hub

(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg

Installez et testez le paquet pip (facultatif).

Exécutez les commandes suivantes pour installer le paquet pip.

(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl

Test d'importation TensorFlow Hub :

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Installation « développeur » (expérimentale)

La création du paquet avec Bazel est la seule méthode officiellement prise en charge. Toutefois, si vous n'êtes pas familier avec Bazel, il est plus simple d'utiliser des outils open source. Dans ce cas, vous pouvez effectuer une installation développeur du paquet.

Cette méthode d'installation vous permet d'installer le répertoire de travail dans votre environnement Python, afin que les modifications en cours soient prises en compte lors de l'importation du package.

Configurer le dépôt

Commencez par configurer l'environnement virtuel et le dépôt, comme décrit ci-dessus .

Installer protoc

Étant donné que TensorFlow Hub utilise des fichiers protobuf, vous aurez besoin du compilateur protobuf pour créer les fichiers python _pb2.py nécessaires à partir des fichiers .proto .

Sur un Mac :

(tensorflow_hub_env)~/hub/$ brew install protobuf

Sous Linux

(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler

Compilez les fichiers .proto

Initialement, le répertoire ne contient aucun fichier _pb2.py :

(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py

Exécutez protoc pour les créer :

(tensorflow_hub_env)~/hub/$ protoc -I=tensorflow_hub --python_out=tensorflow_hub tensorflow_hub/*.proto
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
tensorflow_hub/image_module_info_pb2.py
tensorflow_hub/module_attachment_pb2.py
tensorflow_hub/module_def_pb2.py

Importer directement depuis le dépôt

Une fois les fichiers _pb2.py en place, vous pouvez tester vos modifications directement depuis le répertoire TensorFlow Hub :

(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Installer en mode « développeur »

Ou, pour l'utiliser depuis l'extérieur du répertoire racine du dépôt, vous pouvez utiliser l'installation setup.py develop :

(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop

Vous pouvez désormais utiliser vos modifications locales dans un environnement virtuel Python classique, sans avoir besoin de reconstruire et d'installer le paquet pip pour chaque nouvelle modification :

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Désactivez l'environnement virtuel

(tensorflow_hub_env)~/hub/$ deactivate
,

Si vous apportez des modifications au package pip de TensorFlow Hub, vous souhaiterez probablement reconstruire le package pip à partir du code source pour tester vos modifications.

Cela nécessite :

  • Python
  • TensorFlow
  • Git
  • Bazel

Sinon, si vous installez le compilateur protobuf, vous pouvez tester vos modifications sans utiliser bazel .

Configurer un environnement virtuel

Activer l'environnement virtuel

Installez virtualenv s'il n'est pas déjà installé :

~$ sudo apt-get install python-virtualenv

Créer un environnement virtuel pour la création du package :

~$ virtualenv --system-site-packages tensorflow_hub_env

Et activez-le :

~$ source ~/tensorflow_hub_env/bin/activate  # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh  # csh or tcsh

Clonez le dépôt TensorFlow Hub.

(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub

Testez vos modifications

Exécutez les tests de TensorFlow Hub

(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all

Compilez et installez le package

Générer le script de packaging pip de TensorFlow Hub

Pour créer un package pip pour TensorFlow Hub :

(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package

Créez le package pip TensorFlow Hub

(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg

Installez et testez le paquet pip (facultatif).

Exécutez les commandes suivantes pour installer le paquet pip.

(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl

Test d'importation TensorFlow Hub :

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Installation « développeur » (expérimentale)

La création du paquet avec Bazel est la seule méthode officiellement prise en charge. Toutefois, si vous n'êtes pas familier avec Bazel, il est plus simple d'utiliser des outils open source. Dans ce cas, vous pouvez effectuer une installation développeur du paquet.

Cette méthode d'installation vous permet d'installer le répertoire de travail dans votre environnement Python, afin que les modifications en cours soient prises en compte lors de l'importation du package.

Configurer le dépôt

Commencez par configurer l'environnement virtuel et le dépôt, comme décrit ci-dessus .

Installer protoc

Étant donné que TensorFlow Hub utilise des fichiers protobuf, vous aurez besoin du compilateur protobuf pour créer les fichiers python _pb2.py nécessaires à partir des fichiers .proto .

Sur un Mac :

(tensorflow_hub_env)~/hub/$ brew install protobuf

Sous Linux

(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler

Compilez les fichiers .proto

Initialement, le répertoire ne contient aucun fichier _pb2.py :

(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py

Exécutez protoc pour les créer :

(tensorflow_hub_env)~/hub/$ protoc -I=tensorflow_hub --python_out=tensorflow_hub tensorflow_hub/*.proto
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
tensorflow_hub/image_module_info_pb2.py
tensorflow_hub/module_attachment_pb2.py
tensorflow_hub/module_def_pb2.py

Importer directement depuis le dépôt

Une fois les fichiers _pb2.py en place, vous pouvez tester vos modifications directement depuis le répertoire TensorFlow Hub :

(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Installer en mode « développeur »

Ou, pour l'utiliser depuis l'extérieur du répertoire racine du dépôt, vous pouvez utiliser l'installation setup.py develop :

(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop

Vous pouvez désormais utiliser vos modifications locales dans un environnement virtuel Python classique, sans avoir besoin de reconstruire et d'installer le paquet pip pour chaque nouvelle modification :

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

Désactivez l'environnement virtuel

(tensorflow_hub_env)~/hub/$ deactivate