אם תבצע שינויים בחבילת ה-Pip של TensorFlow Hub, סביר להניח שתרצה לבנות מחדש את חבילת ה-pip מהמקור כדי לנסות את השינויים שלך.
זה דורש:
- פִּיתוֹן
- TensorFlow
- Git
- בזל
לחלופין, אם תתקין את מהדר protobuf, תוכל לנסות את השינויים שלך מבלי להשתמש ב-bazel .
הגדר וירטואלי
הפעל את 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 היא השיטה היחידה הנתמכת רשמית. עם זאת, אם אתה לא מכיר את bazel פשוט יותר לעבוד עם כלי קוד פתוח. בשביל זה אתה יכול לעשות "התקנת מפתחים" של החבילה.
שיטת התקנה זו מאפשרת לך להתקין את ספריית העבודה בסביבת ה-python שלך, כך ששינויים מתמשכים יבואו לידי ביטוי בעת ייבוא החבילה.
הגדר את המאגר
תחילה הגדר את ה-virtualenv והמאגר, כמתואר לעיל .
התקן protoc
מכיוון ש-TensorFlow Hub משתמש ב-protobufs, תזדקק למהדר protobuf כדי ליצור את קבצי python _pb2.py
הנחוצים מקבצי .proto
.
על מק:
(tensorflow_hub_env)~/hub/$ brew install protobuf
על לינוקס
(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