Jeśli wprowadzisz zmiany w pakiecie pip TensorFlow Hub, prawdopodobnie będziesz chciał odbudować pakiet pip ze źródła, aby wypróbować zmiany.
Wymaga to:
- Pyton
- TensorFlow
- Git
- Bazel
Alternatywnie, jeśli zainstalujesz kompilator protobuf, możesz wypróbować zmiany bez użycia bazel .
Skonfiguruj środowisko wirtualne
Aktywuj wirtualną wersję
Zainstaluj virtualenv, jeśli nie jest jeszcze zainstalowany:
~$ sudo apt-get install python-virtualenv
Utwórz wirtualne środowisko do tworzenia pakietu:
~$ virtualenv --system-site-packages tensorflow_hub_env
I aktywuj to:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Sklonuj repozytorium TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Przetestuj swoje zmiany
Uruchom testy TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Zbuduj i zainstaluj pakiet
Zbuduj skrypt pakowania pipów TensorFlow Hub
Aby zbudować pakiet pip dla TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Utwórz pakiet pip TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Zainstaluj i przetestuj pakiet pip (opcjonalnie)
Uruchom następujące polecenia, aby zainstalować pakiet pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Import testowy Hub TensorFlow:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Instalacja „programisty” (eksperymentalna)
Jedyną oficjalnie obsługiwaną metodą jest budowanie pakietu przy użyciu bazela. Jeśli jednak nie znasz bazela, łatwiej jest pracować z narzędziami open source. W tym celu możesz wykonać „instalację programistyczną” pakietu.
Ta metoda instalacji umożliwia zainstalowanie katalogu roboczego w środowisku Pythona, dzięki czemu bieżące zmiany zostaną odzwierciedlone podczas importowania pakietu.
Skonfiguruj repozytorium
Najpierw skonfiguruj virtualenv i repozytorium, jak opisano powyżej .
Zainstaluj protoc
Ponieważ TensorFlow Hub używa protobufów, będziesz potrzebować kompilatora protobuf, aby utworzyć niezbędne pliki Pythona _pb2.py
z plików .proto
.
Na komputerze Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
Na Linuksie
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Skompiluj pliki .proto
Początkowo w katalogu nie ma plików _pb2.py
:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Uruchom protoc
, aby je utworzyć:
(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
Importuj bezpośrednio z repozytorium
Po zainstalowaniu plików _pb2.py
możesz wypróbować modyfikacje bezpośrednio z katalogu TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Zainstaluj w trybie „programisty”.
Lub aby użyć tego spoza katalogu głównego repozytorium, możesz użyć instalacji setup.py develop
:
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Teraz możesz używać lokalnych zmian w zwykłym wirtualnym środowisku Pythona, bez konieczności przebudowywania i instalowania pakietu pip dla każdej nowej zmiany:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Dezaktywuj virtualenv
(tensorflow_hub_env)~/hub/$ deactivate