GPU डिवाइस प्लगइन्स

TensorFlow का प्लग करने योग्य डिवाइस आर्किटेक्चर नए डिवाइस समर्थन को अलग प्लग-इन पैकेज के रूप में जोड़ता है जो आधिकारिक TensorFlow पैकेज के साथ स्थापित होते हैं।

तंत्र को TensorFlow कोड में किसी डिवाइस-विशिष्ट परिवर्तन की आवश्यकता नहीं है। यह TensorFlow बाइनरी के साथ स्थिर तरीके से संचार करने के लिए C API पर निर्भर करता है। प्लग-इन डेवलपर्स अपने प्लगइन्स के लिए अलग कोड रिपॉजिटरी और वितरण पैकेज बनाए रखते हैं और अपने उपकरणों के परीक्षण के लिए जिम्मेदार हैं।

डिवाइस प्लगइन्स का उपयोग करें

किसी विशेष डिवाइस का उपयोग करने के लिए, जैसे कि TensorFlow में एक देशी डिवाइस, उपयोगकर्ताओं को केवल उस डिवाइस के लिए डिवाइस प्लग-इन पैकेज इंस्टॉल करना होगा। निम्नलिखित कोड स्निपेट दिखाता है कि एक नए प्रदर्शन उपकरण, विस्मयकारी प्रोसेसिंग यूनिट (एपीयू) के लिए प्लगइन कैसे स्थापित और उपयोग किया जाता है। सरलता के लिए, इस नमूना APU प्लग-इन में ReLU के लिए केवल एक कस्टम कर्नेल है:

# Install the APU example plug-in package
$ pip install tensorflow-apu-0.0.1-cp36-cp36m-linux_x86_64.whl
...
Successfully installed tensorflow-apu-0.0.1

प्लग-इन स्थापित होने के साथ, परीक्षण करें कि डिवाइस दृश्यमान है और नए एपीयू डिवाइस पर एक ऑपरेशन चलाएं:

import tensorflow as tf   # TensorFlow registers PluggableDevices here.
tf.config.list_physical_devices()  # APU device is visible to TensorFlow.
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:APU:0', device_type='APU')]

a = tf.random.normal(shape=[5], dtype=tf.float32)  # Runs on CPU.
b =  tf.nn.relu(a)         # Runs on APU.

with tf.device("/APU:0"):  # Users can also use 'with tf.device' syntax.
  c = tf.nn.relu(a)        # Runs on APU.

with tf.device("/CPU:0"):
  c = tf.nn.relu(a)        # Runs on CPU.

@tf.function  # Defining a tf.function
def run():
  d = tf.random.uniform(shape=[100], dtype=tf.float32)  # Runs on CPU.
  e = tf.nn.relu(d)        # Runs on APU.

run()  # PluggableDevices also work with tf.function and graph mode.

उपलब्ध उपकरण

MacOS GPU के लिए मेटल PluggableDevice :

विंडोज़ और डब्लूएसएल के लिए डायरेक्टएमएल PluggableDevice (पूर्वावलोकन):

Linux और WSL के लिए TensorFlow PluggableDevice के लिए Intel® एक्सटेंशन: