יצירת חבילת ה-Pip TensorFlow Hub באמצעות לינוקס

אם תבצעו שינויים בחבילת ה-pip של TensorFlow Hub, סביר להניח שתרצו לבנות מחדש את חבילת ה-pip מהמקור כדי לנסות את השינויים שלכם.

זה דורש:

  • פִּיתוֹן
  • TensorFlow
  • גיט
  • באזל

לחלופין, אם תתקין את המהדר 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

צור את חבילת הפיפ של 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, קל יותר לעבוד עם כלי קוד פתוח. לשם כך תוכל לבצע "התקנה למפתח" של החבילה.

שיטת התקנה זו מאפשרת לך להתקין את ספריית העבודה בסביבת הפייתון שלך, כך ששינויים מתמשכים ישתקפו בעת ייבוא ​​החבילה.

הגדר את המאגר

ראשית, הגדר את ה-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

כעת תוכלו להשתמש בשינויים המקומיים שלכם בסביבת virtualenv רגילה של python, ללא צורך לבנות מחדש ולהתקין את חבילת pip עבור כל שינוי חדש:

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

בטל את הסביבה הווירטואלית

(tensorflow_hub_env)~/hub/$ deactivate
,

אם תבצעו שינויים בחבילת ה-pip של TensorFlow Hub, סביר להניח שתרצו לבנות מחדש את חבילת ה-pip מהמקור כדי לנסות את השינויים שלכם.

זה דורש:

  • פִּיתוֹן
  • TensorFlow
  • גיט
  • באזל

לחלופין, אם תתקין את המהדר 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

צור את חבילת הפיפ של 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, קל יותר לעבוד עם כלי קוד פתוח. לשם כך תוכל לבצע "התקנה למפתח" של החבילה.

שיטת התקנה זו מאפשרת לך להתקין את ספריית העבודה בסביבת הפייתון שלך, כך ששינויים מתמשכים ישתקפו בעת ייבוא ​​החבילה.

הגדר את המאגר

ראשית, הגדר את ה-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

כעת תוכלו להשתמש בשינויים המקומיים שלכם בסביבת virtualenv רגילה של python, ללא צורך לבנות מחדש ולהתקין את חבילת pip עבור כל שינוי חדש:

(tensorflow_hub_env)~/hub/$ cd ..  # exit the directory to avoid confusion
(tensorflow_hub_env)~/$ python -c "import tensorflow_hub as hub"

בטל את הסביבה הווירטואלית

(tensorflow_hub_env)~/hub/$ deactivate