TensorFlow

Vikipedi, özgür ansiklopedi
TensorFlow
TensorFlowLogo.svg
Geliştirici(ler) Google Brain Team[1]
İlk yayınlanma 9 Kasım 2015 (5 yıl önce) (2015-11-09)
Güncel sürüm 2.4.1[2] / 21 Ocak 2021 (7 ay önce) (2021-01-21)
Programlama dili Python, C++, CUDA
Platform Linux, macOS, Windows, Android, JavaScript[3]
Tür Machine learning library
Resmî sitesi tensorflow.org
Kod deposu github.com/tensorflow/tensorflow

TensorFlow, makine öğrenimi için ücretsiz ve açık kaynaklı bir yazılım kütüphanesidir . Bir dizi görevde kullanılabilir, ancak derin sinir ağlarının eğitimi ve çıkarımına özel olarak odaklanmaktadır.[4][5]

Tensorflow, veri akışına ve türevlenebilir programlamaya dayalı sembolik bir matematik kitaplığıdır. Google'da hem araştırma hem de üretim için kullanılmaktadır.[6][7][8]

TensorFlow, Google Brain ekibi tarafından Google'ın iç işlerinde kullanımı için geliştirilmiştir. 2015 yılında Apache License 2.0 sürümü altında piyasaya sürülmüştür.[1][9]

Tarih[değiştir | kaynağı değiştir]

DistBelief[değiştir | kaynağı değiştir]

2011'den itibaren, Google Brain DistBelief'i derin öğrenme sinir ağlarına dayalı tescilli bir makine öğrenimi sistemi olarak geliştirmiştir. Kullanımı, hem araştırma hem de ticari uygulamala alanlarında çeşitli Alphabet şirketlerinde hızla artmıştır.[10][11] Google, DistBelief'in kod tabanını basitleştirmek ve yeniden düzenlemek için Jeff Dean dahil olmak üzere birden fazla bilgisayar bilimcisini görevlendirmiştir. Yapılan çalışmalar sonucunda TensorFlow ortaya çıkmıştır.[12] 2009 yılında, Geoffrey Hinton liderliğindeki ekip, genelleştirilmiş geri yayılımı ve önemli ölçüde daha yüksek doğrulukla sinir ağlarının üretilmesine izin veren iyileştirmeleri uygulamaya koymuştur. Ayrıca, konuşma tanımadaki hatalarda %25'lik bir azalma sağlayan diğer iyileştirmeleri de uygulamaya koymuştur.[13]

TensorFlow[değiştir | kaynağı değiştir]

TensorFlow, Google Brain'in ikinci nesil sistemidir. 1.0.0 sürümü 11 Şubat 2017'de yayınlanmıştır.[14] Referans uygulama tek cihazlarda çalışırken, TensorFlow birden fazla CPU ve GPU üzerinde çalışabilmektedir (grafik işleme birimlerinde genel amaçlı bilgi işlem için isteğe bağlı CUDA ve SYCL uzantıları ile birlikte).[15] TensorFlow, 64 bit Linux, macOS, Windows ve Android ve iOS dahil mobil bilgi işlem platformlarında mevcuttur.

Esnek mimarisi, hesaplamanın çeşitli platformlarda (CPU'lar, GPU'lar, TPU'lar ) ve masaüstlerinden sunucu kümelerine, mobil ve uç cihazlara kadar kolay dağıtımına olanak tanımaktadır.

TensorFlow hesaplamaları, durum bilgisi olan veri akışı grafikleri olarak ifade edilebilmektedir. TensorFlow adı, bu tür sinir ağlarının tensörler olarak adlandırılan çok boyutlu veri dizileri üzerinde gerçekleştirdiği işlemlerden türemiştir. Haziran 2016'daki Google I / O Konferansı sırasında Jeff Dean, GitHub'daki 1.500 kütüphanenin TensorFlow'dan bahsettiğini ve bunlardan sadece 5'inin Google tarafından oluşturulduğunu belirtmiştir.[16]

Aralık 2017'de Google, Cisco, Red Hat, CoreOS ve CaiCloud'dan gelen geliştiriciler bir konferansta Kubeflow'u tanıtmıştır. Kubeflow, Kubernetes üzerinde TensorFlow'un çalıştırılmasına ve konuşlandırılmasına izin vermektedir.

Mart 2018'de Google, JavaScript'te makine öğrenimi için TensorFlow.js sürüm 1.0'ı duyurmuştur.[17]

Ocak 2019'da Google, TensorFlow 2.0'ı duyurmuştur.[18] Resmi olarak Eylül 2019'da erişilebilir hale gelmiştir.[19]

Mayıs 2019'da Google, bilgisayar grafiklerinde derin öğrenme için TensorFlow Graphics'i duyurmuştur.[20]

Tensör işleme birimi[değiştir | kaynağı değiştir]

Mayıs 2016'da Google, özellikle makine öğrenimi için geliştirilmiş ve TensorFlow için özel olarak tasarlanmış , uygulamaya özel bir entegre devre (ASIC, bir donanım çipi) olan Tensor işleme birimini (Tensor processing unit (TPU)) duyurmuştur. TPU, düşük hassasiyetli aritmetikte (ör. 8 bit ) yüksek verim sağlamak için tasarlanmıştır. Ayrıca,modelleri eğitmek yerine kullanmaya veya çalıştırmaya yönelik programlanabilir bir yapay zeka hızlandırıcısıdır. Google, veri merkezlerinde bir yıldan uzun süredir TPU'ları çalıştırdıklarını açıklamıştır. Aynı zamanda, makine öğrenimi için watt başına daha iyi optimize edilmiş bir performans beklediklerini açıklamıştır.[21]

Mayıs 2017'de Google, ikinci neslin yanı sıra TPU'ların Google Compute Engine'de kullanılabilirliğini duyurmuştur.[22] İkinci nesil TPU'lar 180 teraflop'a kadar performans sunmaktadır. Ayrıca, 64 TPU'luk kümeler halinde düzenlendiklerinde 11,5 petaflop'a kadar performans sağlamaktadır.

Mayıs 2018'de Google, 420 teraflop performans ve 128 GB yüksek bant genişliğine sahip bellek (high bandwidth memory (HBM)) sunan üçüncü nesil TPU'ları duyurmuştur. Cloud TPU v3 Kapsüller, 100'den fazla petaflop performans ve 32 TB HBM sunmaktadır.[23]

Şubat 2018'de Google, TPU'ları Google Cloud Platform'da beta olarak kullanıma sunduklarını duyurmuştur.[24]

Edge TPU[değiştir | kaynağı değiştir]

Temmuz 2018'de Edge TPU duyurulmuştur. Edge TPU, Google'ın TensorFlow Lite makine öğrenimi modellerini akıllı telefonlar gibi uç bilgi işlem olarak bilinen bilgi işlem cihazlarında çalıştırmak için tasarlanmış ASIC yongasıdır.

TensorFlow Lite[değiştir | kaynağı değiştir]

Mayıs 2017'de Google, özellikle mobil geliştirmeye yönelik bir yazılım yığını olan TensorFlow Lite'ı duyurmuştur.[25] Ocak 2019'da TensorFlow ekibi, Android cihazlarda OpenGL ES 3.1 Compute Shaders ve iOS cihazlarda Metal Compute Shaders ile mobil GPU çıkarım motorunun geliştirici önizlemesini yayınlamıştır.[26] Mayıs 2019 yılında Google, TensorFlow Lite Micro'nun (TensorFlow Lite for Microcontrollers olarak da bilinir) ve ARM'nin uTensor'unun birleşeceğini duyurmuştur.[27]

TensorFlow Lite, standart TensorFlow modelleri tarafından kullanılan Protocol Buffers biçiminden kaçınarak ağ modelleri için veri serileştirme biçimi olarak FlatBuffers kullanmaktadır.

Pixel Visual Core (PVC)[değiştir | kaynağı değiştir]

Ekim 2017'de Google, mobil cihazlar için tamamen programlanabilir bir görüntü, resim ve yapay zeka işlemcisi olan Pixel Visual Core'u (PVC) içeren Google Pixel 2'yi piyasaya sürmüştür. PVC makine öğrenme için TensorFlow'u desteklemektedir. Ayrıca görüntü işleme için Halide progralama dilini desteklemektedir.

Uygulamalar[değiştir | kaynağı değiştir]

Google TensorFlow tarafından desteklenen RankBrain'i 26 Ekim 2015 tarihinde resmen yayınlamıştır.

Ayrıca Google, kurulum gerektirmeyen bir TensorFlow Jupyter Notebook ortamı olan Colaboratory'u da piyasaya sürmüştür.[28]

Machine Learning Crash Course (MLCC)[değiştir | kaynağı değiştir]

1 Mart 2018'de Google, Machine Learning Crash Course'u (MLCC) yayınlamıştır. Başlangıçta Google çalışanlarını pratik yapay zeka ve makine öğrenimi temelleri ile donatmaya yardımcı olmak için MLCC tasarlanmıştır. Aynı zamanda, kurs kamuya sunulmadan önce dünyanın çeşitli şehirlerinde Google tarafından ücretsiz TensorFlow atölyeleri başlatılmıştır.[29]

TensorFlow 2.0[değiştir | kaynağı değiştir]

TensorFlow Ekibi, Eylül 2019'da kütüphanenin yeni bir ana sürümünün yayınlandığını duyurmuştur. TensorFlow 2.0 bir çok yeni özellik getirmiştir. Bunlardan en önemlisi, ilk olarak Chainer ve daha sonra PyTorch tarafından popüler hale getirilen "Çalıştırmaya Göre Tanımla" şemasına geçilmiştir.[30] Diğer önemli değişiklikler arasında eski kitaplıkların kaldırılması, TensorFlow'un farklı sürümlerindeki eğitimli modeller arasında çapraz uyumluluk ve GPU'daki performansta önemli iyileştirmeler yer almıştır.[31]

Özellikleri[değiştir | kaynağı değiştir]

TensorFlow, kararlı Python (tüm platformlarda sürüm 3.7 için) [32] ve C API'leri sağlar.[33] Ayrıca geriye dönük uyumluluk garantisi olmadan sağlanan API'ler: C ++, Go, Java,[34] JavaScript [3] ve Swift (arşivlendi ve geliştirme durdu).[35][36] Üçüncü taraf paketleri C #,[37][38] Haskell,[39] Julia,[40] MATLAB,[41] R,[42] Scala,[43] Rust,[44] OCaml,[45] ve Kristal .[46]

Uygulamalar[değiştir | kaynağı değiştir]

Original photo (left) and with TensorFlow neural style applied (right)

TensorFlow'un temelini oluşturduğu uygulamalar arasında, DeepDream gibi otomatik resim yazısı oluşturma yazılımları vardır.[47]

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

 

  1. ^ a b "Credits". TensorFlow.org. 17 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Kasım 2015. 
  2. ^ "TensorFlow Release" (İngilizce). Erişim tarihi: 28 Ocak 2021. 
  3. ^ a b "TensorFlow.js". 6 Mayıs 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Haziran 2018. 
  4. ^ Abadi (2016). "TensorFlow: A System for Large-Scale Machine Learning" (PDF). 
  5. ^ Google (2015). TensorFlow: Open source machine learning.  "It is machine learning software being used for various kinds of perceptual and language understanding tasks" – Jeffrey Dean, minute 0:47 / 2:17 from YouTube clip
  6. ^ Video clip by Google about TensorFlow 2015 at minute 0:15/2:17
  7. ^ Video clip by Google about TensorFlow 2015 at minute 0:26/2:17
  8. ^ Dean et al 2015
  9. ^ "Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine". Wired. 9 Kasım 2015. 9 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Kasım 2015. 
  10. ^ "TensorFlow: Large-scale machine learning on heterogeneous systems" (PDF). TensorFlow.org. Google Research. 9 Kasım 2015. 20 Kasım 2015 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 10 Kasım 2015. 
  11. ^ "Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More". TechCrunch. 9 Kasım 2015. 9 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Kasım 2015. 
  12. ^ "What Is TensorFlow, and Why Is Google So Excited About It?". Slate. 9 Kasım 2015. 10 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Kasım 2015. 
  13. ^ "Google chairman: We're making 'real progress' on artificial intelligence". CSMonitor. 25 Kasım 2015. 16 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Kasım 2015. 
  14. ^ "Tensorflow Release 1.0.0". 27 Şubat 2021 tarihinde kaynağından arşivlendi. 
  15. ^ Metz (10 Kasım 2015). "TensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware World". Wired. Erişim tarihi: 11 Kasım 2015. 
  16. ^ Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
  17. ^ "Introducing TensorFlow.js: Machine Learning in Javascript". Medium. 30 Mart 2018. 30 Mart 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  18. ^ "What's coming in TensorFlow 2.0". Medium. 14 Ocak 2019. 14 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  19. ^ "TensorFlow 2.0 is now available!". Medium. 30 Eylül 2019. 7 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Kasım 2019. 
  20. ^ "Introducing TensorFlow Graphics: Computer Graphics Meets Deep Learning". Medium. 9 Mayıs 2019. 9 Mayıs 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  21. ^ "Google supercharges machine learning tasks with TPU custom chip". Google Cloud Platform Blog. 18 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Mayıs 2016. 
  22. ^ "Build and train machine learning models on our new Google Cloud TPUs". Google. 17 Mayıs 2017. Erişim tarihi: 18 Mayıs 2017. 
  23. ^ "Cloud TPU". Google Cloud. 17 Mayıs 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  24. ^ "Cloud TPU machine learning accelerators now available in beta". Google Cloud Platform Blog. Erişim tarihi: 12 Şubat 2018. 
  25. ^ "Google's new machine learning framework is going to put more AI on your phone". 17 Mayıs 2017 tarihinde kaynağından arşivlendi. 
  26. ^ "TensorFlow Lite Now Faster with Mobile GPUs (Developer Preview)". Medium. 16 Ocak 2019. 16 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  27. ^ "uTensor and Tensor Flow Announcement | Mbed". os.mbed.com. 9 Mayıs 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Mayıs 2019. 
  28. ^ "Colaboratory – Google". research.google.com (İngilizce). 24 Ekim 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Kasım 2018. 
  29. ^ "Machine Learning Crash Course with TensorFlow APIs" (İngilizce). 28 Şubat 2018 tarihinde kaynağından arşivlendi. 
  30. ^ "The State of Machine Learning Frameworks in 2019". The Gradient. 10 Ekim 2019. 10 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Temmuz 2020. 
  31. ^ "TensorFlow 2.0 is now available!". TensorFlow Blog. 30 Eylül 2019. 30 Ekim 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Mayıs 2020. 
  32. ^ "All symbols in TensorFlow | TensorFlow". TensorFlow (İngilizce). 22 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  33. ^ "TensorFlow Version Compatibility | TensorFlow". TensorFlow (İngilizce). 10 Ekim 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Mayıs 2018. Some API functions are explicitly marked as "experimental" and can change in backward incompatible ways between minor releases. These include other languages 
  34. ^ "API Documentation". 16 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Haziran 2018. 
  35. ^ "Introducing Swift For TensorFlow". Medium (İngilizce). 26 Nisan 2018. 26 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ağustos 2019. not just a TensorFlow API wrapper written in Swift 
  36. ^ "Swift for Tensorflow is being archived and development has ceased" (İngilizce). 12 Şubat 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2021. As S4TF heads into maintenance mode, it’s a bit Exploding head to reflect on how much I’ve learned. 
  37. ^ "TensorFlowSharp: TensorFlow API for .NET languages". 17 Şubat 2018. 24 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  38. ^ "TensorFlow.NET: .NET Standard bindings for TensorFlow". 11 Aralık 2018. 12 Temmuz 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Aralık 2018. 
  39. ^ "haskell: Haskell bindings for TensorFlow". tensorflow. 17 Şubat 2018. 24 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  40. ^ "A Julia wrapper for TensorFlow". 12 Ağustos 2019. 24 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ağustos 2019. operations like sin, * (matrix multiplication), .* (element-wise multiplication), etc [..]. Compare to Python, which requires learning specialized namespaced functions like tf.matmul. 
  41. ^ "A MATLAB wrapper for TensorFlow Core". 3 Kasım 2019. 14 Eylül 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Şubat 2020. 
  42. ^ "tensorflow: TensorFlow for R". RStudio. 17 Şubat 2018. 4 Ocak 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  43. ^ "tensorflow_scala: TensorFlow API for the Scala Programming Language". 17 Şubat 2018. 18 Şubat 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  44. ^ "rust: Rust language bindings for TensorFlow". tensorflow. 17 Şubat 2018. 24 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  45. ^ "tensorflow-ocaml: OCaml bindings for TensorFlow". 16 Şubat 2018. 11 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Şubat 2018. 
  46. ^ "fazibear/tensorflow.cr". GitHub (İngilizce). 27 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Ekim 2018. 
  47. ^ "Google Offers Up Its Entire Machine Learning Library as Open-Source Software". Vice. 11 Kasım 2015. 23 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Kasım 2015. 

Bibliyografya[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]