GPU ডিভাইস প্লাগইন

TensorFlow এর প্লাগেবল ডিভাইস আর্কিটেকচার আলাদা প্লাগ-ইন প্যাকেজ হিসাবে নতুন ডিভাইস সমর্থন যোগ করে যা অফিসিয়াল TensorFlow প্যাকেজের পাশাপাশি ইনস্টল করা হয়।

মেকানিজমের জন্য TensorFlow কোডে কোনো ডিভাইস-নির্দিষ্ট পরিবর্তনের প্রয়োজন নেই। এটি টেনসরফ্লো বাইনারির সাথে স্থিতিশীল পদ্ধতিতে যোগাযোগ করতে C API-এর উপর নির্ভর করে। প্লাগ-ইন বিকাশকারীরা তাদের প্লাগইনগুলির জন্য পৃথক কোড সংগ্রহস্থল এবং বিতরণ প্যাকেজগুলি বজায় রাখে এবং তাদের ডিভাইসগুলি পরীক্ষা করার জন্য দায়ী।

ডিভাইস প্লাগইন ব্যবহার করুন

একটি নির্দিষ্ট ডিভাইস ব্যবহার করতে, যেমন টেনসরফ্লোতে একটি নেটিভ ডিভাইস ব্যবহার করতে, ব্যবহারকারীদের শুধুমাত্র সেই ডিভাইসের জন্য ডিভাইস প্লাগ-ইন প্যাকেজ ইনস্টল করতে হবে। নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে একটি নতুন প্রদর্শনী ডিভাইসের প্লাগইন, Awesome Processing Unit (APU) ইনস্টল এবং ব্যবহার করা হয়৷ সরলতার জন্য, এই নমুনা 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

প্লাগ-ইন ইনস্টল করার সাথে, ডিভাইসটি দৃশ্যমান কিনা তা পরীক্ষা করুন এবং নতুন APU ডিভাইসে একটি অপারেশন চালান:

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.

উপলব্ধ ডিভাইস

ম্যাকোস জিপিইউ-এর জন্য মেটাল PluggableDevice :

Windows এবং WSL এর জন্য DirectML PluggableDevice (পূর্বরূপ):

লিনাক্স এবং WSL-এর জন্য TensorFlow PluggableDevice এর জন্য Intel® এক্সটেনশন: