ארכיטקטורת המכשיר הניתנת לחיבור של TensorFlow מוסיפה תמיכה במכשירים חדשים כחבילות פלאג-אין נפרדות המותקנות לצד החבילה הרשמית של TensorFlow.
המנגנון אינו דורש שינויים ספציפיים למכשיר בקוד TensorFlow. הוא מסתמך על ממשקי API של 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 GPUs:
- עובד עם TF 2.5 ואילך.
- מדריך לתחילת העבודה .
- לשאלות ומשוב, בקר בפורום המפתחים של Apple .
DirectML PluggableDevice
עבור Windows ו-WSL (תצוגה מקדימה):
- עובד עם חבילת
tensorflow-cpu
, גרסה 2.10 ואילך. - גלגל PyPI .
- ריפו של GitHub .
- לשאלות, משוב או להעלאת בעיות, בקר בדף הבעיות של
tensorflow-directml-plugin
ב-GitHub .
הרחבת Intel® עבור TensorFlow PluggableDevice
עבור לינוקס ו-WSL:
- עובד עם TF 2.10 ואילך.
- מדריך לתחילת העבודה
- גלגל PyPI .
- ריפו של GitHub .
- לשאלות, משוב או להעלאת בעיות, בקר בדף הבעיות של
intel-extension-for-tensorflow
ב-GitHub .