TensorFlow'un takılabilir cihaz mimarisi, resmi TensorFlow paketinin yanında kurulan ayrı eklenti paketleri olarak yeni cihaz desteği ekler.
Mekanizma, TensorFlow kodunda cihaza özel herhangi bir değişiklik gerektirmez. TensorFlow ikili dosyasıyla istikrarlı bir şekilde iletişim kurmak için C API'lerine güvenir. Eklenti geliştiricileri, eklentileri için ayrı kod depoları ve dağıtım paketleri bulundurur ve cihazlarının test edilmesinden sorumludur.
Cihaz eklentilerini kullanın
TensorFlow'daki yerel bir cihaz gibi belirli bir cihazı kullanmak için kullanıcıların yalnızca o cihaza yönelik cihaz eklenti paketini yüklemeleri gerekir. Aşağıdaki kod parçacığı, yeni bir tanıtım cihazı olan Awesome Processing Unit (APU) eklentisinin nasıl yüklendiğini ve kullanıldığını gösterir. Basitlik açısından, bu örnek APU eklentisinde ReLU için yalnızca bir özel çekirdek bulunur:
# 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
Eklenti yüklendiğinde cihazın görünür olup olmadığını test edin ve yeni APU cihazında bir işlem çalıştırın:
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.
Mevcut cihazlar
MacOS GPU'lar için Metal PluggableDevice
:
- TF 2.5 veya üzeri ile çalışır.
- Başlangıç kılavuzu .
- Sorularınız ve geri bildirimleriniz için lütfen Apple Geliştirici Forumunu ziyaret edin.
Windows ve WSL için DirectML PluggableDevice
(önizleme):
-
tensorflow-cpu
paketi, sürüm 2.10 veya üzeri ile çalışır. - PyPI tekerleği .
- GitHub deposu .
- Sorularınız, geri bildirimleriniz veya sorunları dile getirmek için lütfen GitHub'daki
tensorflow-directml-plugin
Sorunlar sayfasını ziyaret edin.
Linux ve WSL için TensorFlow PluggableDevice
yönelik Intel® Uzantısı:
- TF 2.10 veya üzeri ile çalışır.
- Başlangıç kılavuzu
- PyPI tekerleği .
- GitHub deposu .
- Sorularınız, geri bildirimleriniz veya sorunları dile getirmek için lütfen GitHub'daki
intel-extension-for-tensorflow
Sorunlar sayfasını ziyaret edin.