Nếu bạn thực hiện thay đổi đối với gói pip của TensorFlow Hub, có thể bạn sẽ muốn biên dịch lại gói pip từ mã nguồn để kiểm tra các thay đổi của mình.
Điều này đòi hỏi:
- Python
- TensorFlow
- Git
- Bazel
Ngoài ra, nếu bạn cài đặt trình biên dịch protobuf, bạn có thể thử nghiệm các thay đổi của mình mà không cần sử dụng bazel .
Thiết lập môi trường ảo (virtualenv)
Kích hoạt môi trường ảo
Cài đặt virtualenv nếu chưa được cài đặt:
~$ sudo apt-get install python-virtualenv
Tạo môi trường ảo để tạo gói phần mềm:
~$ 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 các bài kiểm tra của TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Xây dựng và cài đặt gói phần mềm
Xây dựng tập lệnh đóng gói pip của 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 của 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 việc 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"
Phiên bản cài đặt "Dành cho nhà phát triển" (thử nghiệm)
Việc biên dịch gói bằng Bazel là phương pháp duy nhất được hỗ trợ chính thức. Tuy nhiên, nếu bạn không quen thuộc với Bazel, việc sử dụng các công cụ mã nguồn mở sẽ đơn giản hơn. Để làm điều đó, bạn có thể thực hiện "cài đặt dành cho nhà phát triển" của 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ờ đó các thay đổi đang diễn ra sẽ được phản ánh khi bạn nhập gói.
Thiết lập kho lưu trữ
Trước tiên, hãy thiết lập môi trường ảo và kho lưu trữ, như đã mô tả ở trên .
Cài đặt protoc
Vì TensorFlow Hub sử dụng protobuf, 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 nào trong thư mục này:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Chạy lệnh 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ữ
Sau khi đã có các tệp _pb2.py , bạn có thể thử nghiệm các chỉnh sửa 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 nó từ bên ngoài thư mục gốc của kho lưu trữ, bạn có thể sử dụng lệnh cài đặt setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Giờ đây, bạn có thể sử dụng các thay đổi cục bộ của mình trong môi trường ảo Python thông thường mà không cần phải biên dịch lại và cài đặt gói pip cho mỗi lần 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 môi trường ảo virtualenv
(tensorflow_hub_env)~/hub/$ deactivate
Nếu bạn thực hiện thay đổi đối với gói pip của TensorFlow Hub, có thể bạn sẽ muốn biên dịch lại gói pip từ mã nguồn để kiểm tra các thay đổi của mình.
Điều này đòi hỏi:
- Python
- TensorFlow
- Git
- Bazel
Ngoài ra, nếu bạn cài đặt trình biên dịch protobuf, bạn có thể thử nghiệm các thay đổi của mình mà không cần sử dụng bazel .
Thiết lập môi trường ảo (virtualenv)
Kích hoạt môi trường ảo
Cài đặt virtualenv nếu chưa được cài đặt:
~$ sudo apt-get install python-virtualenv
Tạo môi trường ảo để tạo gói phần mềm:
~$ 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 các bài kiểm tra của TensorFlow Hub
(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all
Xây dựng và cài đặt gói phần mềm
Xây dựng tập lệnh đóng gói pip của 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 của 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 việc 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"
Phiên bản cài đặt "Dành cho nhà phát triển" (thử nghiệm)
Việc biên dịch gói bằng Bazel là phương pháp duy nhất được hỗ trợ chính thức. Tuy nhiên, nếu bạn không quen thuộc với Bazel, việc sử dụng các công cụ mã nguồn mở sẽ đơn giản hơn. Để làm điều đó, bạn có thể thực hiện "cài đặt dành cho nhà phát triển" của 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ờ đó các thay đổi đang diễn ra sẽ được phản ánh khi bạn nhập gói.
Thiết lập kho lưu trữ
Trước tiên, hãy thiết lập môi trường ảo và kho lưu trữ, như đã mô tả ở trên .
Cài đặt protoc
Vì TensorFlow Hub sử dụng protobuf, 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 nào trong thư mục này:
(tensorflow_hub_env)~/hub/$ ls -1 tensorflow_hub/*_pb2.py
Chạy lệnh 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ữ
Sau khi đã có các tệp _pb2.py , bạn có thể thử nghiệm các chỉnh sửa 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 nó từ bên ngoài thư mục gốc của kho lưu trữ, bạn có thể sử dụng lệnh cài đặt setup.py develop :
(tensorflow_hub_env)~/hub/$ python tensorflow_hub/pip_package/setup.py develop
Giờ đây, bạn có thể sử dụng các thay đổi cục bộ của mình trong môi trường ảo Python thông thường mà không cần phải biên dịch lại và cài đặt gói pip cho mỗi lần 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 môi trường ảo virtualenv
(tensorflow_hub_env)~/hub/$ deactivate