إذا قمت بإجراء تغييرات على حزمة نقطة TensorFlow Hub ، فمن المحتمل أن ترغب في إعادة بناء حزمة النقطة من المصدر لتجربة تغييراتك.
هذا يتطلب:
- بايثون
- TensorFlow
- شخص سخيف
- بازل
بدلاً من ذلك ، إذا قمت بتثبيت برنامج التحويل البرمجي 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 Pip TensorFlow Hub
لإنشاء حزمة نقطة لـ 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
تثبيت واختبار حزمة النقطة (اختياري)
قم بتشغيل الأوامر التالية لتثبيت حزمة النقطة.
(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
.
على جهاز Mac:
(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 العادي ، دون الحاجة إلى إعادة إنشاء حزمة النقطة وتثبيتها لكل تغيير جديد:
(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