如果您对 TensorFlow Hub pip 包进行了更改,您可能需要从源代码重新构建 pip 包以尝试您的更改。
这需要
- Python
- TensorFlow
- Git
- Bazel
或者,如果您安装了 protobuf 编译器,您可以 尝试您的更改,而无需使用 bazel。
设置 virtualenv
激活 virtualenv
如果 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 环境中,以便在您导入包时反映持续的更改。
设置存储库
首先设置 virtualenv 和存储库,如 上面 所述。
安装 protoc
由于 TensorFlow Hub 使用 protobufs,因此您需要 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 virtualenv 中使用您的本地更改,而无需为每次新更改重新构建和安装 pip 包
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
停用 virtualenv
(tensorflow_hub_env)~/hub/$ deactivate