تضيف بنية الجهاز القابل للتوصيل في TensorFlow دعمًا جديدًا للأجهزة كحزم إضافية منفصلة يتم تثبيتها جنبًا إلى جنب مع حزمة TensorFlow الرسمية.
لا تتطلب الآلية أي تغييرات خاصة بالجهاز في كود TensorFlow. يعتمد على واجهات برمجة تطبيقات C للتواصل مع TensorFlow الثنائي بطريقة مستقرة. يحتفظ مطورو المكونات الإضافية بمستودعات تعليمات برمجية منفصلة وحزم توزيع للمكونات الإضافية الخاصة بهم ويكونون مسؤولين عن اختبار أجهزتهم.
استخدم المكونات الإضافية للجهاز
لاستخدام جهاز معين، مثل جهاز أصلي في TensorFlow، يتعين على المستخدمين فقط تثبيت حزمة المكونات الإضافية للجهاز لهذا الجهاز. يوضح مقتطف الكود التالي كيفية تثبيت واستخدام المكون الإضافي لجهاز العرض التوضيحي الجديد، 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
لوحدات معالجة الرسومات لنظام التشغيل macOS:
- يعمل مع TF 2.5 أو أحدث.
- دليل البدء .
- للأسئلة والتعليقات، يرجى زيارة منتدى مطوري Apple .
DirectML PluggableDevice
لنظامي التشغيل Windows وWSL (معاينة):
- يعمل مع حزمة
tensorflow-cpu
، الإصدار 2.10 أو الأحدث. - عجلة بي بي اي .
- جيثب الريبو .
- لطرح الأسئلة أو التعليقات أو إثارة المشكلات، يرجى زيارة صفحة المشكلات الخاصة بـ
tensorflow-directml-plugin
على GitHub .
ملحق Intel® لجهاز TensorFlow PluggableDevice
لنظامي التشغيل Linux وWSL:
- يعمل مع TF 2.10 أو الأحدث.
- دليل البدء
- عجلة بي بي اي .
- جيثب الريبو .
- لطرح الأسئلة أو التعليقات أو إثارة المشكلات، يرجى زيارة صفحة المشكلات الخاصة بـ
intel-extension-for-tensorflow
على GitHub .