Tạo gói pip TensorFlow Hub bằng Linux

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