معماری دستگاه قابل اتصال TensorFlow پشتیبانی دستگاه جدیدی را به عنوان بستههای پلاگین جداگانه که در کنار بسته رسمی TensorFlow نصب میشوند، اضافه میکند.
این مکانیسم به هیچ تغییری در کد TensorFlow نیاز ندارد. برای برقراری ارتباط با باینری TensorFlow به شیوه ای پایدار به C API متکی است. توسعه دهندگان پلاگین، مخازن کد و بسته های توزیع جداگانه را برای پلاگین های خود نگهداری می کنند و مسئول آزمایش دستگاه های خود هستند.
از پلاگین های دستگاه استفاده کنید
برای استفاده از یک دستگاه خاص، مانند یک دستگاه بومی در 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.
دستگاه های موجود
Metal PluggableDevice
برای پردازندههای گرافیکی macOS:
- با 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 مراجعه کنید.