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

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

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

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

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

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

यदि वर्चुअलएन्व पहले से इंस्टॉल नहीं है तो इंस्टॉल करें:

~$ 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 फ़ाइलों से आवश्यक पायथन _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

अब आप प्रत्येक नए परिवर्तन के लिए पाइप पैकेज को पुनर्निर्माण और स्थापित करने की आवश्यकता के बिना, नियमित पायथन वर्चुअलएन्व में अपने स्थानीय परिवर्तनों का उपयोग कर सकते हैं:

(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