Google I/O bir tamamlamadır! TensorFlow oturumlarını takip edin Oturumları görüntüleyin

TensorFlow Eklentileri




TensorFlow Eklentileri köklü API desenleri uyan, ancak çekirdek TensorFlow bulunmayan yeni işlevler uygulamak katkıların bir havuzdur. TensorFlow, çok sayıda operatörü, katmanı, ölçümü, kaybı ve optimize ediciyi doğal olarak destekler. Ancak, makine öğrenimi gibi hızlı hareket eden bir alanda, çekirdek TensorFlow'a entegre edilemeyen birçok ilginç yeni gelişme var (çünkü bunların geniş uygulanabilirlikleri henüz net değil veya çoğunlukla topluluğun daha küçük bir alt kümesi tarafından kullanılıyor).

Kurulum

Kararlı Yapılar

En son sürümü yüklemek için aşağıdakileri çalıştırın:

pip install tensorflow-addons

Eklentileri kullanmak için:

import tensorflow as tf
import tensorflow_addons as tfa

gece kondular

Orada da gece pip paketi altında TensorFlow Eklentileri! Kurar tfa-nightly TensorFlow en son kararlı sürümü karşı inşa edildiği,. Gecelik derlemeler daha yeni özellikler içerir, ancak sürümlü sürümlerden daha az kararlı olabilir.

pip install tfa-nightly

Kaynaktan Yükleme

Ayrıca kaynaktan da yükleyebilirsiniz. Bu gerektiren Bazel kurulum sistemine.

git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_TOOLKIT_PATH="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl

Temel Kavramlar

Alt Paketlerde Standartlaştırılmış API

Kullanıcı deneyimi ve proje sürdürülebilirliği, TF-Addons'taki temel kavramlardır. Bunları başarmak için, eklemelerimizin çekirdek TensorFlow'da görülen yerleşik API kalıplarına uymasını şart koşuyoruz.

GPU/CPU Özel İşlemler

TensorFlow Eklentilerinin önemli bir yararı, önceden derlenmiş operasyonlar olmasıdır. Bir CUDA 10 kurulumu bulunamazsa, operasyon otomatik olarak bir CPU uygulamasına geri döner.

Proxy Bakımı

Eklentiler, alt paketleri ve alt modülleri bölümlere ayırmak için tasarlanmıştır, böylece bu bileşenle ilgili uzmanlığı ve kazanılmış çıkarı olan kullanıcılar tarafından yönetilebilirler.

Alt paket bakımı, yalnızca yazma iznine sahip kullanıcı sayısını sınırlamak için önemli katkı yapıldıktan sonra verilecektir. Katkılar, sorunları kapatma, hata düzeltmeleri, belgeler, yeni kod veya mevcut kodu optimize etme şeklinde olabilir. Alt modül bakımı, depoya yazma izinlerini içermeyeceğinden, giriş için daha düşük bir engel ile verilebilir.

Daha fazla bilgi için bkz: RFC bu konuda.

Alt Paketlerin Periyodik Değerlendirmesi

Bu havuzun doğası göz önüne alındığında, alt paketler ve alt modüller zaman geçtikçe topluluk için daha az yararlı hale gelebilir. Depoyu sürdürülebilir kılmak için, her şeyin hala depoya ait olduğundan emin olmak için kodumuzun iki yılda bir gözden geçirilmesini gerçekleştireceğiz. Bu incelemeye katkıda bulunan faktörler:

  1. Aktif bakıcı sayısı
  2. OSS kullanım miktarı
  3. Kodla ilişkilendirilen sorunların veya hataların miktarı
  4. Şimdi daha iyi bir çözüm mevcutsa

TensorFlow Eklentilerindeki işlevsellik üç gruba ayrılabilir:

  • Önerilen: bakımlı kullanımı; kullanılması teşvik edilir.
  • Discouraged: daha iyi bir seçenek mevcuttur; API, tarihi nedenlerle tutulur; veya API bakım gerektiriyor ve kullanımdan kaldırılacak bekleme süresi.
  • Kullanımdan kaldırılan: Kendi risk kullanımı; konu silinecek.

Bu üç grup arasındaki durum değişikliği şu şekildedir: Önerilen <-> Cesareti Kaldırıldı -> Kullanımdan Kaldırıldı.

Bir API'nin kullanım dışı olarak işaretlenmesi ile silinmesi arasındaki süre 90 gün olacaktır. Gerekçe şu:

  1. TensorFlow Eklentilerinin aylık olarak yayınlanması durumunda, bir API silinmeden önce 2-3 sürüm olacaktır. Sürüm notları, kullanıcıya yeterince uyarı verebilir.

  2. 90 gün, bakıcılara kodlarını düzeltmeleri için yeterli zaman verir.

Katkı

TF-Addons, topluluk tarafından yönetilen bir açık kaynak projesidir. Bu nedenle proje, kamu katkılarına, hata düzeltmelerine ve belgelere bağlıdır. Bakınız katkı kurallarına katkıda için nasıl bir rehber. Bu proje yapışan davranış TensorFlow koduyla . Katılarak, bu kodu desteklemeniz beklenir.

Toplum

Lisans

Apache Lisansı 2.0