Linux का उपयोग करके TensorFlow हब पाइप पैकेज बनाना

यदि आप TensorFlow हब पाइप पैकेज में परिवर्तन करते हैं, तो संभवतः आप अपने परिवर्तनों को आज़माने के लिए स्रोत से पाइप पैकेज का पुनर्निर्माण करना चाहेंगे।

इस आवश्यकता है:

वैकल्पिक रूप से, यदि आप प्रोटोबफ कंपाइलर स्थापित करते हैं तो आप bazel का उपयोग किए बिना अपने परिवर्तनों को आज़मा सकते हैं।

वर्चुअलएन्व सेट करें

वर्चुअलएन्व सक्रिय करें

वर्चुअलएन्व स्थापित करें यदि यह पहले से स्थापित नहीं है:

~$ 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 हब रिपॉजिटरी को क्लोन करें।

(tensorflow_hub_env)~/$ git clone https://github.com/tensorflow/hub
(tensorflow_hub_env)~/$ cd hub

अपने परिवर्तनों का परीक्षण करें

TensorFlow हब के परीक्षण चलाएँ

(tensorflow_hub_env)~/hub/$ bazel test tensorflow_hub:all

पैकेज बनाएं और इंस्टॉल करें

TensorFlow हब पिप पैकेजिंग स्क्रिप्ट बनाएँ

TensorFlow हब के लिए एक पाइप पैकेज बनाने के लिए:

(tensorflow_hub_env)~/hub/$ bazel build tensorflow_hub/pip_package:build_pip_package

TensorFlow हब पिप पैकेज बनाएँ

(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 हब:

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

"डेवलपर" इंस्टॉल (प्रयोगात्मक)

बेज़ल के साथ पैकेज बनाना आधिकारिक तौर पर समर्थित एकमात्र तरीका है। हालाँकि यदि आप बेज़ल से अपरिचित हैं तो ओपन सोर्स टूल्स के साथ काम करना आसान है। उसके लिए आप पैकेज का "डेवलपर इंस्टॉल" कर सकते हैं।

यह इंस्टॉलेशन विधि आपको अपने पायथन वातावरण में कार्यशील निर्देशिका को स्थापित करने की अनुमति देती है, ताकि जब आप पैकेज आयात करते हैं तो चल रहे परिवर्तन परिलक्षित हों।

भंडार सेट करें

पहले वर्चुअलएन्व और रिपॉजिटरी को सेटअप करें, जैसा कि ऊपर वर्णित है।

protoc स्थापित करें

चूँकि TensorFlow हब प्रोटोबफ़्स का उपयोग करता है, इसलिए आपको .proto फ़ाइलों से आवश्यक python _pb2.py फ़ाइलें बनाने के लिए प्रोटोबफ़ कंपाइलर की आवश्यकता होगी।

एक मैक पर:

(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 हब निर्देशिका से अपने संशोधनों को आज़माएँ का उपयोग कर सकते हैं:

(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

अब आप प्रत्येक नए परिवर्तन के लिए 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