tensör nedir tensör oluşturma işlemleri numpy dizi tensör dönüşümleri tensör numpy dizi dönüşümleri 0d scalar 1d vektör 2d matrix tensör yapayzekai.net

NumPy Dizileri gibi Tensörler oluşturma

Tensörler, çok boyutlu dizilerin matris temsillerinden başka bir şey değildir.

TensorFlow, Derin Öğrenme görevleri için Google tarafından geliştirilmiş derin Öğrenme kütüphanesidir. Ancak yalnızca derin Öğrenme görevleri için limitli değildir. TensorFlow aynı zamanda geleneksel makine öğrenimi için de kullanılabilir. TensorFlow hem yüksek seviyeli hem de düşük seviyeli API’lere sahiptir. Yüksek seviyeli API, kompleks derin Öğrenme moellerini birkaç satır kod ile inşa etmeyi sağlar. Düşük seviyeli (low level) API çalışmalarınızda daha çok özelleştirme sağlar.

Yeni bir kütüphane ile başlarken en iyi yol, veri yapılarını incelemektir. TensorFlow ile başlarken ana veri yapısı olan Tensör’leri inceleyerek başlayacağız. Tensör, derin öğrenmede kullanılan teknik bir terimdir. Tensörler, çok boyutlu dizilerin matris temsillerinden başka bir şey değildir.

Programlama ortamımızı oluşturalım.

TensorFlow 2 kütüphanesi pip yüklemesi aracılığı ile tek bir pakette CPU ve GPU desteğini sağlar. Önceki versiyonlarda, hem CPU hem GPU desteği için 2 ayrı paket yüklemek gerekiyordu. Ancak, en son version ile, ihtiyaç yok artık. Ancak  TensorFlow, GPU desteğini yalnızca NVIDIA CUDA destekli grafik kartları için içerir.

TensorFlow 2 yüklemek için en basit yöntem pip paketini kullanmaktır.

pip install tensorflow

Bilgisayarınıza yüklemeden Google CoLab kullanarak da TensorFlow kütüphanesi ile çalışmalarınızı yapabilirsiniz.

https://colab.research.google.com/

Tensör oluşturmak için 2 fonksiyon vardır.

constant()   : bu fonksiyon ile tensör oluşturuyorsanız, aynı programlama oturumunda tensör değiştirilemez, modifiye edilemez. Bu yüzden, sabit tensör / constant tensör olarak adlandırılır

Variable()    : eğer variable ile tensör oluşturuyorsanız, tensör aynı programlama oturumunda değiştirilebilir, modifiye edilebilir. Değişken tensördür / variable tensör’dür.

Bir tensörün ana özellikleri :

Rank : rank , bir tensörün boyutunu (eksen / axis) ifade eder. tf.rank() fonksiyonu ile erişilebilir.

Shape : bir tensör objesinin şekil özelliğine shape özelliği ile erişilir.

Veri tipi : bir tensörün veri tipini tanımlar. dtype ile erişilir.

Tensör tipleri  :

Tensörler çok boyutlu olabilir, herhangi bir boyuta sahip olabilir. Yüksek boyutlu tensör formatlarını hayal etmek, canlandırmak zor olabilir. Tensörleri 4 ana kategoride kategorize ediyoruz.

  • Scalar (0D Tensör) : herhangi bir boyutu olmaksızın yalnızca bir sayıdır. (0 boyutlu)
  • Vector (1D Tensör) : tek boyutlu sayı dizisidir.
  • Matrix (2D Tensör) : Vektör koleksiyonundan oluşan 2 boyutlu dizidir.
  • 3D Matrix (3D Tensör) : resim verisi ile çalışırken, 3D matrisleri sıklıkla kullanırız. matris koleksiyonu olarak düşünebiliriz.

Scalar oluşturma işlemi (0D Tensör)  :

TensorFlow kullanarakNumPy kullanarak
import tensorflow as tf a=tf.Variable(20) print(a) print(“\nRank:”,tf.rank(a)) print(“Shape:”,a.shape) print(“Data Type:”,a.dtype)  import numpy as np b=np.array(19) print(b) print(“\nRank:”,b.ndim) print(“Shape:”,b.shape) print(“Data Type:”,b.dtype)  

TensorFlow çıktısı:

NumPy çıktısı :

Vektör oluşturma işlemi (1D Tensör) :

TensorFlow kullanarakNumPy kullanarak
x1=tf.Variable([1,3,5,7]) print(x1) print(“\nRank:”,tf.rank(x1)) print(“Shape:”,x1.shape) print(“Data Type:”,x1.dtype)  x2=np.array([3.5,6.5,6.7,7.2]) print(x2) print(“\nRank:”,tf.rank(x2)) print(“Shape:”,x2.shape) print(“Data Type:”,x2.dtype)  

Tensorflow çıktısı:

NumPy çıktısı :

Matris Oluşturma işlemi (2D Tensör) :

TensorFlow kullanarakNumPy kullanarak
m1=tf.Variable([[1,2,3],[4,5,6]]) print(m1) print(“\nRank:”,tf.rank(m1)) print(“Shape:”,m1.shape) print(“Data Type:”,m1.dtype)  m2=np.array([[1.0,2.1,3.5,4.9],              [1.2,1.7,1.9,7.8]]) print(m2) print(“\nRank:”,m2.ndim) print(“Shape:”,m2.shape) print(“Data Type:”,m2.dtype)  

TensorFlow çıktısı :

NumPy çıktısı :

3D Matris Oluşturma işlemi (3D Tensör) :

TensorFlow kullanarakNumPy kullanarak
k1=tf.Variable([[[1,2,3],[4,5,6]], [[2,2,2],[5,5,5]]]) print(k1) print(“\nRank:”,tf.rank(k1)) print(“Shape:”,k1.shape) print(“Data Type:”,k1.dtype)  k2=np.array([[[2,3,4],[9,8,7]],                              [[1,0,1],[0,0,0]]]) print(k2) print(“\nRank:”,np.ndim(k2)) print(“Shape:”,k2.shape) print(“Data Type:”,k2.dtype)  
Samples : 2 Satır : 2 Sütun : 3Rank :3 Shape : (2,2,3) Data type  : int64

TensorFlow çıktısı:

NumPy çıktısı :

Veri tipinin önemi :

Tensörler ve NumPy dizileri görünürde olduça benzerler. Ancak, varsayılan olarak,TensorFlow oluşturulurken 32 bit-bit veri değerlerini kullanır.TensorFlow Derin Öğrenme modellerinin performansını arttırmak için tasarlanmıştır. 32-bit veri değerleri daha hızlı çalışır ve daha az hesaplama kaynağı kullanır. Buna karşın, NumPy  diziler oluşturulurken, 64-bit veri değerlerini kullanır.

İkisi arasında değişim :

Eğer bir tensör varsa elinizde, kolayca muadili NumPy dizisine dönüştürebilirsiniz.

Bir NumPy dizisinden bir tensör oluşturmak:

NumPy’de varsayılan veri değeri 64-bit olduğundan, NumPy’dan -> Tensöre dönüştürürken dtype=tf.float32 ile dönüşüm yapılmalıdır.

Author: yapayze2

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir