Se você fizer alterações no pacote pip do TensorFlow Hub, provavelmente desejará recompilar o pacote a partir do código-fonte para testar as alterações.
Isso requer:
- Python
- TensorFlow
- Git
- Bazel
Alternativamente, se você instalar o compilador protobuf, poderá testar suas alterações sem usar o bazel .
Configure um ambiente virtual
Ativar ambiente virtual
Instale o virtualenv caso ainda não esteja instalado:
~$ sudo apt-get install python-virtualenv
Crie um ambiente virtual para a criação do pacote:
~$ virtualenv --system-site-packages tensorflow_hub_env
E ative-o:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Clone o repositório do TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Teste suas alterações.
Execute os testes do TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Compile e instale o pacote
Script pip para criar o pacote do TensorFlow Hub
Para criar um pacote pip para o TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Crie o pacote pip do TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Instale e teste o pacote pip (opcional)
Execute os seguintes comandos para instalar o pacote pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Teste de importação do TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalação "de desenvolvedor" (experimental)
A única maneira oficialmente suportada é compilar o pacote com o Bazel. No entanto, se você não estiver familiarizado com o Bazel, é mais simples usar ferramentas de código aberto. Para isso, você pode fazer uma "instalação de desenvolvedor" do pacote.
Este método de instalação permite que você instale o diretório de trabalho em seu ambiente Python, de forma que as alterações feitas sejam refletidas quando você importar o pacote.
Configurar o repositório
Primeiro, configure o ambiente virtual e o repositório, conforme descrito acima .
Instalar protoc
Como o TensorFlow Hub usa protobufs, você precisará do compilador protobuf para criar os arquivos python _pb2.py necessários a partir dos arquivos .proto .
Em um Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
No Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Compile os arquivos .proto
Inicialmente, não existem arquivos _pb2.py no diretório:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Execute o protoc para criá-los:
(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 diretamente do repositório
Com os arquivos _pb2.py instalados, você pode testar suas modificações diretamente do diretório do TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instale no modo "desenvolvedor".
Ou, para usar isso fora da raiz do repositório, você pode usar a instalação setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Agora você pode usar suas alterações locais em um ambiente virtual Python comum, sem a necessidade de recompilar e instalar o pacote pip para cada nova alteração:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Desative o ambiente virtual.
(tensorflow_hub_env)~/hub/$ deactivate
Se você fizer alterações no pacote pip do TensorFlow Hub, provavelmente desejará recompilar o pacote a partir do código-fonte para testar as alterações.
Isso requer:
- Python
- TensorFlow
- Git
- Bazel
Alternativamente, se você instalar o compilador protobuf, poderá testar suas alterações sem usar o bazel .
Configure um ambiente virtual
Ativar ambiente virtual
Instale o virtualenv caso ainda não esteja instalado:
~$ sudo apt-get install python-virtualenv
Crie um ambiente virtual para a criação do pacote:
~$ virtualenv --system-site-packages tensorflow_hub_env
E ative-o:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Clone o repositório do TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Teste suas alterações.
Execute os testes do TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Compile e instale o pacote
Script pip para criar o pacote do TensorFlow Hub
Para criar um pacote pip para o TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Crie o pacote pip do TensorFlow Hub.
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Instale e teste o pacote pip (opcional)
Execute os seguintes comandos para instalar o pacote pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Teste de importação do TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalação "de desenvolvedor" (experimental)
A única maneira oficialmente suportada é compilar o pacote com o Bazel. No entanto, se você não estiver familiarizado com o Bazel, é mais simples usar ferramentas de código aberto. Para isso, você pode fazer uma "instalação de desenvolvedor" do pacote.
Este método de instalação permite que você instale o diretório de trabalho em seu ambiente Python, de forma que as alterações feitas sejam refletidas quando você importar o pacote.
Configurar o repositório
Primeiro, configure o ambiente virtual e o repositório, conforme descrito acima .
Instalar protoc
Como o TensorFlow Hub usa protobufs, você precisará do compilador protobuf para criar os arquivos python _pb2.py necessários a partir dos arquivos .proto .
Em um Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
No Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Compile os arquivos .proto
Inicialmente, não existem arquivos _pb2.py no diretório:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Execute o protoc para criá-los:
(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 diretamente do repositório
Com os arquivos _pb2.py instalados, você pode testar suas modificações diretamente do diretório do TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instale no modo "desenvolvedor".
Ou, para usar isso fora da raiz do repositório, você pode usar a instalação setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Agora você pode usar suas alterações locais em um ambiente virtual Python comum, sem a necessidade de recompilar e instalar o pacote pip para cada nova alteração:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Desative o ambiente virtual.
(tensorflow_hub_env)~/hub/$ deactivate