การสร้างแพ็คเกจ pip ของ TensorFlow Hub โดยใช้ Linux

หากคุณเปลี่ยนแปลงแพ็คเกจ pip ของ TensorFlow Hub คุณอาจต้องการสร้างแพ็คเกจ pip ใหม่จากแหล่งที่มาเพื่อลองใช้การเปลี่ยนแปลงของคุณ

สิ่งนี้ต้องการ:

หรือหากคุณติดตั้งคอมไพเลอร์ 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

สร้างและติดตั้งแพ็คเกจ

สร้างสคริปต์บรรจุภัณฑ์ pip ของ TensorFlow Hub

ในการสร้างแพ็คเกจ pip สำหรับ TensorFlow Hub:

(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package

สร้างแพ็คเกจ pip ของ TensorFlow Hub

(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 ให้ทำงานกับเครื่องมือโอเพ่นซอร์สได้ง่ายกว่า สำหรับสิ่งนั้น คุณสามารถทำ "การติดตั้งสำหรับนักพัฒนาซอฟต์แวร์" ของแพ็คเกจได้

วิธีการติดตั้งนี้ช่วยให้คุณติดตั้งไดเร็กทอรีการทำงานในสภาพแวดล้อมของ python เพื่อให้การเปลี่ยนแปลงที่ดำเนินอยู่มีผลเมื่อคุณนำเข้าแพ็คเกจ

ตั้งค่าที่เก็บ

ขั้นแรกให้ตั้งค่า virtualenv และที่เก็บ ตามที่อธิบายไว้ ข้างต้น

ติดตั้ง protoc

เนื่องจาก TensorFlow Hub ใช้ protobufs คุณจะต้องใช้คอมไพเลอร์ protobuf เพื่อสร้างไฟล์ python _pb2.py ที่จำเป็นจากไฟล์ . .proto

บน 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