إذا قمت بإجراء تغييرات على حزمة TensorFlow Hub pip، فمن المحتمل أنك سترغب في إعادة بناء حزمة pip من المصدر لتجربة تغييراتك.
وهذا يتطلب ما يلي:
- بايثون
- TensorFlow
- جيت
- بازل
بدلاً من ذلك، إذا قمت بتثبيت مُجمِّع protobuf، يمكنك تجربة تغييراتك دون استخدام bazel .
قم بإعداد بيئة افتراضية
تفعيل البيئة الافتراضية
قم بتثبيت 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
قم ببناء وتثبيت الحزمة
إنشاء برنامج تغليف TensorFlow Hub باستخدام pip
لإنشاء حزمة pip لـ TensorFlow Hub:
(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package
أنشئ حزمة TensorFlow Hub باستخدام pip
(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"
تثبيت "المطور" (تجريبي)
يُعدّ بناء الحزمة باستخدام بازل الطريقة الوحيدة المدعومة رسميًا. مع ذلك، إذا لم تكن مُلمًا ببازل، فمن الأسهل استخدام أدوات مفتوحة المصدر. يمكنك حينها تثبيت الحزمة باستخدام "تثبيت المطور".
تتيح لك طريقة التثبيت هذه تثبيت دليل العمل في بيئة بايثون الخاصة بك، بحيث تنعكس التغييرات المستمرة عند استيراد الحزمة.
قم بإعداد المستودع
قم أولاً بإعداد البيئة الافتراضية والمستودع، كما هو موضح أعلاه .
قم بتثبيت protoc
نظرًا لأن TensorFlow Hub يستخدم بروتوكولات protobuf، فستحتاج إلى مُجمِّع 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، دون الحاجة إلى إعادة بناء وتثبيت حزمة 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