Si realiza cambios en el paquete pip de TensorFlow Hub, probablemente querrá recompilar el paquete pip desde el código fuente para probar sus cambios.
Esto requiere:
- Pitón
- TensorFlow
- Git
- Bazel
Como alternativa, si instalas el compilador protobuf, puedes probar tus cambios sin usar bazel .
Configurar un entorno virtual
Activar virtualenv
Instala virtualenv si aún no está instalado:
~$ sudo apt-get install python-virtualenv
Cree un entorno virtual para la creación del paquete:
~$ virtualenv --system-site-packages tensorflow_hub_env
Y actívalo:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Clona el repositorio de TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Prueba tus cambios
Ejecuta las pruebas de TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Compilar e instalar el paquete
Script para crear paquetes pip de TensorFlow Hub
Para crear un paquete pip para TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Crea el paquete pip de TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Instalar y probar el paquete pip (opcional)
Ejecute los siguientes comandos para instalar el paquete pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Prueba de importación de TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalación para desarrolladores (experimental)
La compilación del paquete con Bazel es el único método oficialmente compatible. Sin embargo, si no está familiarizado con Bazel, es más sencillo trabajar con herramientas de código abierto. Para ello, puede realizar una instalación para desarrolladores del paquete.
Este método de instalación le permite instalar el directorio de trabajo en su entorno Python, de modo que los cambios posteriores se reflejen al importar el paquete.
Configurar el repositorio
Primero configure el entorno virtual y el repositorio, como se describe anteriormente .
Instalar protoc
Dado que TensorFlow Hub utiliza protobufs, necesitará el compilador de protobufs para crear los archivos python _pb2.py necesarios a partir de los archivos .proto .
En una Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
En Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Compila los archivos .proto
Inicialmente no hay archivos _pb2.py en el directorio:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Ejecuta protoc para crearlos:
(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
Importar directamente desde el repositorio
Una vez que los archivos _pb2.py estén en su lugar, puede probar sus modificaciones directamente desde el directorio de TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalar en modo "desarrollador"
O para usarlo desde fuera de la raíz del repositorio, puede usar la instalación setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Ahora puedes usar tus cambios locales en un entorno virtual de Python normal, sin necesidad de reconstruir e instalar el paquete pip para cada nuevo cambio:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Desactivar el entorno virtual
(tensorflow_hub_env)~/hub/$ deactivate
Si realiza cambios en el paquete pip de TensorFlow Hub, probablemente querrá recompilar el paquete pip desde el código fuente para probar sus cambios.
Esto requiere:
- Pitón
- TensorFlow
- Git
- Bazel
Como alternativa, si instalas el compilador protobuf, puedes probar tus cambios sin usar bazel .
Configurar un entorno virtual
Activar virtualenv
Instala virtualenv si aún no está instalado:
~$ sudo apt-get install python-virtualenv
Cree un entorno virtual para la creación del paquete:
~$ virtualenv --system-site-packages tensorflow_hub_env
Y actívalo:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Clona el repositorio de TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Prueba tus cambios
Ejecuta las pruebas de TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Compilar e instalar el paquete
Script para crear paquetes pip de TensorFlow Hub
Para crear un paquete pip para TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Crea el paquete pip de TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Instalar y probar el paquete pip (opcional)
Ejecute los siguientes comandos para instalar el paquete pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Prueba de importación de TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalación para desarrolladores (experimental)
La compilación del paquete con Bazel es el único método oficialmente compatible. Sin embargo, si no está familiarizado con Bazel, es más sencillo trabajar con herramientas de código abierto. Para ello, puede realizar una instalación para desarrolladores del paquete.
Este método de instalación le permite instalar el directorio de trabajo en su entorno Python, de modo que los cambios posteriores se reflejen al importar el paquete.
Configurar el repositorio
Primero configure el entorno virtual y el repositorio, como se describe anteriormente .
Instalar protoc
Dado que TensorFlow Hub utiliza protobufs, necesitará el compilador de protobufs para crear los archivos python _pb2.py necesarios a partir de los archivos .proto .
En una Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
En Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Compila los archivos .proto
Inicialmente no hay archivos _pb2.py en el directorio:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Ejecuta protoc para crearlos:
(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
Importar directamente desde el repositorio
Una vez que los archivos _pb2.py estén en su lugar, puede probar sus modificaciones directamente desde el directorio de TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalar en modo "desarrollador"
O para usarlo desde fuera de la raíz del repositorio, puede usar la instalación setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Ahora puedes usar tus cambios locales en un entorno virtual de Python normal, sin necesidad de reconstruir e instalar el paquete pip para cada nuevo cambio:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Desactivar el entorno virtual
(tensorflow_hub_env)~/hub/$ deactivate