TensorFlow Eklentileri , köklü API modellerine uyan ancak temel TensorFlow'da bulunmayan yeni işlevleri uygulayan bir katkı deposudur. TensorFlow, çok sayıda operatörü, katmanı, ölçümü, kayıpları ve optimize ediciyi yerel olarak destekler. Bununla birlikte, ML gibi hızlı ilerleyen bir alanda, temel TensorFlow'a entegre edilemeyen pek çok ilginç yeni gelişme var (çünkü bunların geniş uygulanabilirliği henüz net değil ya da ç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
Gecelik Yapılar
TensorFlow'un en son kararlı sürümüne göre oluşturulmuş tfa-nightly
pip paketi altında TensorFlow Eklentilerinin gecelik yapıları da bulunmaktadır. Gecelik sürümler daha yeni özellikler içerir ancak sürümlendirilmiş sürümlere göre daha az kararlı olabilir.
pip install tfa-nightly
Kaynaktan Yükleme
Ayrıca kaynaktan da yükleyebilirsiniz. Bu, Bazel yapı sistemini gerektirir.
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 temel TensorFlow'da görülen yerleşik API kalıplarına uymasını istiyoruz.
GPU/CPU Özel Operasyonları
TensorFlow Eklentilerinin en büyük avantajı önceden derlenmiş operasyonların olmasıdır. CUDA 10 kurulumu bulunamazsa operasyon otomatik olarak CPU uygulamasına geri dönecektir.
Vekil Bakımı
Eklentiler, alt paketleri ve alt modülleri bölümlere ayıracak şekilde tasarlanmıştır; böylece bu bileşende uzmanlığa ve hak sahibi olan kullanıcılar tarafından muhafaza edilebilirler.
Alt paketin bakımı, yazma iznine sahip kullanıcı sayısını sınırlamak için yalnızca önemli miktarda katkı yapıldıktan sonra verilecektir. Katkılar; sorunların kapatılması, hata düzeltmeleri, dokümantasyon, yeni kod veya mevcut kodun optimize edilmesi şeklinde gelebilir. Alt modülün bakımı, depoya yazma izinlerini içermeyeceğinden giriş için daha düşük bir bariyerle verilebilir.
Daha fazla bilgi için bu konuyla ilgili RFC'ye bakın.
Alt Paketlerin Periyodik Değerlendirilmesi
Bu havuzun doğası göz önüne alındığında, alt paketler ve alt modüller zaman geçtikçe topluluk için giderek daha az yararlı hale gelebilir. Depoyu sürdürülebilir tutmak amacıyla, her şeyin hala depoya ait olduğundan emin olmak için kodumuzun yılda iki kez gözden geçirilmesini gerçekleştireceğiz. Bu incelemeye katkıda bulunan faktörler şunlar olacaktır:
- Aktif bakımcı sayısı
- OSS kullanım miktarı
- Kodla ilişkilendirilen sorunların veya hataların miktarı
- Şimdi daha iyi bir çözüm mevcutsa
TensorFlow Eklentileri içindeki işlevsellik üç gruba ayrılabilir:
- Önerilen : bakımlı API; kullanımı teşvik edilmektedir.
- Cesareti kırıldı : Daha iyi bir alternatif mevcut; API tarihi nedenlerden dolayı tutulur; veya API'nin bakım gerektirmesi ve kullanımdan kaldırılması için bekleme süresidir.
- Kullanımdan kaldırıldı : kullanım riski size aittir; silinecek konu.
Bu üç grup arasındaki durum değişikliği şu şekildedir: Önerilen <-> Tavsiye Edilmeyen -> Kullanımdan Kaldırılan.
Bir API'nin kullanımdan kaldırılmış olarak işaretlenmesi ile silinmesi arasındaki süre 90 gün olacaktır. Gerekçe şu:
TensorFlow Eklentilerinin aylık olarak yayınlanması durumunda, API silinmeden önce 2-3 sürüm olacaktır. Sürüm notları kullanıcıya yeterince uyarı verebilir.
90 gün, bakımcılara kodlarını düzeltmeleri için yeterli zaman tanır.
Katkıda Bulunmak
TF-Addons, topluluk liderliğindeki bir açık kaynak projesidir. Bu nedenle proje kamunun katkılarına, hata düzeltmelerine ve belgelere bağlıdır. Nasıl katkıda bulunacağınıza ilişkin bir kılavuz için lütfen katkı yönergelerine bakın. Bu proje TensorFlow'un davranış kurallarına uygundur. Katılarak bu kurallara uymanız bekleniyor.
Toplum
- Genel Posta Listesi
- SIG Aylık Toplantı Notları
- Posta listemize katılın ve toplantıya takvim davetleri alın