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® এক্সটেনশন: