如果您變更 TensorFlow Hub pip 套件,您可能需要從來源重建 pip 套件,才能試用您的變更。
這需要
- Python
- TensorFlow
- Git
- Bazel
或者,如果您安裝 protobuf 編譯器,您可以試用您的變更,而無需使用 bazel。
設定虛擬環境
啟用虛擬環境
如果尚未安裝 virtualenv,請安裝
~$ sudo apt-get install python-virtualenv
為套件建立建立虛擬環境
~$ virtualenv --system-site-packages tensorflow_hub_env
並加以啟用
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
複製 TensorFlow Hub 存放區。
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
測試您的變更
執行 TensorFlow Hub 的測試
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
建構並安裝套件
建構 TensorFlow Hub pip 封裝指令碼
若要為 TensorFlow Hub 建構 pip 套件
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
建立 TensorFlow Hub pip 套件
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
安裝並測試 pip 套件 (選用)
執行下列指令以安裝 pip 套件。
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
測試匯入 TensorFlow Hub
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
「開發人員」安裝 (實驗性)
使用 bazel 建構套件是唯一正式支援的方法。但是,如果您不熟悉 bazel,使用開放原始碼工具會比較簡單。您可以為套件執行「開發人員安裝」。
這種安裝方法可讓您將工作目錄安裝到您的 Python 環境中,以便在您匯入套件時反映持續變更。
設定存放區
首先,如上方所述,設定虛擬環境和存放區。
安裝 protoc
由於 TensorFlow Hub 使用 protobuf,因此您需要 protobuf 編譯器,才能從 .proto
檔案建立必要的 Python _pb2.py
檔案。
在 Mac 上
(tensorflow_hub_env)~/hub/$ brew install protobuf
在 Linux 上
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
編譯 .proto
檔案
一開始,目錄中沒有 _pb2.py
檔案
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
執行 protoc
以建立這些檔案
(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
直接從存放區匯入
在 _pb2.py
檔案就緒後,您可以直接從 TensorFlow Hub 目錄試用您的修改
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
以「開發人員」模式安裝
或者,若要從存放區根目錄外部使用此功能,您可以使用 setup.py develop
安裝
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
現在您可以在一般的 Python 虛擬環境中使用您的本機變更,而無需為每個新變更重建並安裝 pip 套件
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
取消啟用虛擬環境
(tensorflow_hub_env)~/hub/$ deactivate