إنشاء حزمة النقاط TensorFlow Hub باستخدام Linux

إذا قمت بإجراء تغييرات على حزمة 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