Nếu bạn thực hiện các thay đổi đối với gói pip TensorFlow Hub, bạn có thể sẽ muốn xây dựng lại gói pip từ nguồn để thử các thay đổi của mình.
Điều này đòi hỏi:
- Python
- Dòng chảy căng
- Git
- Bazel
Ngoài ra, nếu bạn cài đặt trình biên dịch protobuf, bạn có thể thử các thay đổi của mình mà không cần sử dụng bazel .
Thiết lập một virtualenv
Kích hoạt virtualenv
Cài đặt virtualenv nếu nó chưa được cài đặt:
~$ sudo apt-get install python-virtualenv
Tạo môi trường ảo để tạo gói:
~$ virtualenv --system-site-packages tensorflow_hub_env
Và kích hoạt nó:
~$ source ~/tensorflow_hub_env/bin/activate # bash, sh, ksh, or zsh
~$ source ~/tensorflow_hub_env/bin/activate.csh # csh or tcsh
Sao chép kho lưu trữ TensorFlow Hub.
(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub
Kiểm tra những thay đổi của bạn
Chạy thử nghiệm của TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Xây dựng và cài đặt gói
Xây dựng tập lệnh đóng gói pip TensorFlow Hub
Để xây dựng gói pip cho TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
Tạo gói pip TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel-bin/tensorflow_hub/pip_package/build_pip_package \
/tmp/tensorflow_hub_pkg
Cài đặt và kiểm tra gói pip (tùy chọn)
Chạy các lệnh sau để cài đặt gói pip.
(tensorflow_hub_env)~/hub/$ pip install /tmp/tensorflow_hub_pkg/*.whl
Kiểm tra nhập TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Cài đặt "Nhà phát triển" (thử nghiệm)
Xây dựng gói bằng bazel là phương pháp được hỗ trợ chính thức duy nhất. Tuy nhiên, nếu bạn không quen với bazel thì làm việc với các công cụ nguồn mở sẽ đơn giản hơn. Để làm được điều đó, bạn có thể thực hiện "cài đặt dành cho nhà phát triển" gói.
Phương pháp cài đặt này cho phép bạn cài đặt thư mục làm việc vào môi trường python của mình để những thay đổi đang diễn ra được phản ánh khi bạn nhập gói.
Thiết lập kho lưu trữ
Đầu tiên hãy thiết lập virtualenv và kho lưu trữ, như được mô tả ở trên .
Cài đặt protoc
Vì TensorFlow Hub sử dụng protobuf nên bạn sẽ cần trình biên dịch protobuf để tạo các tệp python _pb2.py
cần thiết từ các tệp .proto
.
Trên máy Mac:
(tensorflow_hub_env)~/hub/$ brew install protobuf
Trên Linux
(tensorflow_hub_env)~/hub/$ sudo apt install protobuf-compiler
Biên dịch các tệp .proto
Ban đầu không có tệp _pb2.py
trong thư mục:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Chạy protoc
để tạo chúng:
(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
Nhập trực tiếp từ kho lưu trữ
Với các tệp _pb2.py
đã có, bạn có thể dùng thử các sửa đổi của mình trực tiếp từ thư mục TensorFlow Hub:
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Cài đặt ở chế độ "nhà phát triển"
Hoặc để sử dụng cái này từ bên ngoài kho lưu trữ gốc, bạn có thể sử dụng cài đặt setup.py develop
:
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Bây giờ bạn có thể sử dụng các thay đổi cục bộ của mình trong virtualenv python thông thường mà không cần phải xây dựng lại và cài đặt gói pip cho mỗi thay đổi mới:
(tensorflow_hub_env)~/hub/$ cd .. # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"
Vô hiệu hóa virtualenv
(tensorflow_hub_env)~/hub/$ deactivate