Session'ı çalıştır. Bu, yukarıda yazdığın işlemleri yürütecektir.
Özetle, değişkenleri başlat, bir Session oluştur ve Session'ın içindeki işlemleri çalıştır 👩🏫
👩💻 Kod Örneği
Aşağıdaki formülü hesaplamak için:
loss=L(y^,y)=(y^(i)−y(i))2
# Tensörleri oluşturma ve arasındaki işlemi yapma y_hat = tf.constant(36, name='y_hat')y = tf.constant(39, name='y')loss = tf.Variable((y - y_hat)**2, name='loss')# Tensörleri başlatmainit = tf.global_variables_initializer()# Session oluşturmawith tf.Session()as session:# İşlemeleri çalıştırma session.run(init)# Sonuçları yazdırmaprint(session.run(loss))
Kayıp fonksiyonu için bir değişken oluşturduğumuzda, loss'u basitçe diğer miktarların bir fonksiyonu olarak tanımladık, ancak değerini değerlendirmedik. Bunu değerlendirmek için initializer'ı kullanırız.
❗ Değişken Başlatma (initalization) Hakkında Not
Aşağıdaki kod için
a = tf.constant(2)b = tf.constant(10)c = tf.multiply(a,b)print(c)
🤸♀️ Çıktı:
Tensor("Mul:0", shape=(), dtype=int32)
Beklendiği gibi, 20 görmeyeceğiz 🤓! Sonucun shape attribute'u olmayan ve "int32" türünde bir tensör olduğunu söyleyen bir tensörümüz var. Tek yaptığımız 'computation graph' koymaktı, ancak henüz bu hesaplamayı çalıştırmadık.
📦 TF'deki Placeholders
Yer tutucu placeholder, değerini ancak daha sonra belirleyebileceğiniz bir nesnedir. Bir yer tutucunun değerlerini belirtmek için, bir feed dictionary kullanarak değerleri iletebiliriz.
Aşağıda, x için bir yer tutucu oluşturuldu. Bu, Session'ı çalıştırdığımızda daha sonra bir sayı girmemizi sağlar.
x = tf.placeholder(tf.int64, name ='x')print(sess.run(2* x, feed_dict = {x: 3}))sess.close()
🎀 Daha Fazla Örnek
Sigmoid Fonksiyonun değerini TF ile hesaplamak
defsigmoid(z):""" z değeri için sigmoid fonksiyonunu hesaplar Argümanlar: z -- giriş değeri, skaler veya vektör Dönüş değeri: results -- z'nin sigmoid değeri """# x için yertutucu tanımlama. adı da 'x'. x = tf.placeholder(tf.float32, name ='x')# sigmoid(x)'i hesaplama sigmoid = tf.sigmoid(x)# session oluşturma, ve çalıştırma.with tf.Session()as sess:# session'ı çalıştırma ve sonuçları output'a (result'a) atama result = sess.run(sigmoid, feed_dict = {x: z})return result
Maliyet Fonksiyonun değerini TF ile hesaplamak
defcost(logits,labels):""" sigmoid cross entropy ile cost fonksiyonunun değerini hesaplar Argümanlar: logits -- z'yi içeren bir vektör, Son lineer ünitenin çıktısı (son sigmoid aktivasyonundan önce) labels -- y - etiket vektörü (1 veya 0) Dönüş Değeri: cost -- Cost fonksiyonunun session'ını çalıştırır """# "logits" (z) ve "labels" (y) için yer tutucu oluşturma z = tf.placeholder(tf.float32, name ='z') y = tf.placeholder(tf.float32, name ='y')# Loss fonksiyonunu kullanma cost = tf.nn.sigmoid_cross_entropy_with_logits(logits = z, labels = y)# Session oluşturma sess = tf.Session()# Session'ı çalıştırma cost = sess.run(cost, feed_dict = {z: logits, y: labels})# Session'ı kapatma sess.close()return cost