Tf.InteractiveSession ()
Bu tf.Session () bilan bir xil, ammo IPython va Jupyter noutbuklaridan foydalanish maqsadga muvofiqdir, bu sizga har bir narsaga Session.run () ni bajarish o'rniga Tensor.eval () va Operation.run () ni ishlatishga imkon beradi. vaqt nimanidir hisoblashingizni xohlaysiz.
sess = tf.InteractiveSession ()
a = tf.constant (1)
b = tf. doimiy (2)
c = a + b
# sess.run o'rniga (c)
c.eval ()
InteractiveSession sizga Session ob'ektini aniq o'tish shart emasligini ta'minlaydi.
O'zgaruvchilar
TensorFlow-dagi o'zgaruvchilar Sessiya tomonidan boshqariladi. Ular foydali bo'lgan seanslar orasida turadi, chunki Tensor va Operatsion ob'ektlari o'zgarmasdir. O'zgaruvchilar tf.Variable () yordamida yaratilishi mumkin.
tensorflow_var = tf.Variable (1, name = "my_variable")
Ko'pincha ushbu o'zgaruvchini o'nlab nol, nol yoki tasodifiy qiymatlar sifatida yaratishni xohlaysiz:
tf.zeros () - nollarga to'lgan matritsani yaratadi
tf.ones () - to'liq matritsani yaratadi
tf.random_normal () - oraliq orasidagi tasodifiy bir xil qiymatlarga ega bo'lgan matritsa
tf.random_uniform () - tasodifiy normal taqsimlangan raqamlar
tf.truncated_normal () - bu oddiy tasodifiy kabi bir xil, ammo 2 dan oshiq standart og'ishlarda hech qanday son mavjud emas.
Ushbu funktsiyalar boshlang'ich shakl parametrini oladi, bu erda matritsaning o'lchami aniqlanadi. Masalan:
Odatda normal taqsimlangan # 4x4x4 matritsa 0-ning 1-qiymati
normal = tf.truncated_normal ([4, 4, 4], o'rtacha = 0.0, stddev = 1.0)
O'zingizning o'zgaruvchingizni ushbu matritsaning yordamchi funktsiyalaridan biriga o'rnatish uchun:
normal_var = tf. o'zgaruvchan (tf.truncated_normal ([4,4,4], o'rtacha = 0.0, stddev = 1.0)
Ushbu o'zgaruvchilarni ishga tushirish uchun TensorFlow ning o'zgaruvchan initsializatsiya funktsiyasidan foydalanishingiz kerak va uni sessiyaga o'tkazishingiz kerak. Shu tarzda bir nechta seanslar ishlaganda o'zgaruvchilar bir xil bo'ladi.
init = tf.initialize_all_variables ()
sess = tf.Sessiya ()
sess.run (tashabbus)
Agar o'zgaruvchining qiymatini butunlay o'zgartirmoqchi bo'lsangiz, siz Variable.assign () operatsiyasidan foydalanishingiz mumkin, bu qiymatni yangilash sessiyasida ishlatilishi kerak.
initial_var = tf.O'zgaruvchan (1)
o'zgartirilgan_var = boshlang'ich_var.assign (initial_var + initial_var)
init = tf.initialize_all_variables ()
sess = tf.Sessiya ()
sess.run (tashabbus)
sess.run (o'zgartirilgan_var)
№2
sess.run (o'zgartirilgan_var)
# 4
sess.run (o'zgartirilgan_var)
# 8
# .... va hokazo
Ba'zan siz modelingizga hisoblagich qo'shishni xohlaysiz, bu erda siz Variable.assign_add () usulini bajarishingiz mumkin, u raqamli parametrlarni oladi va uni parametrga ko'paytiradi. Xuddi shunday Variable.assign_sub () mavjud.
hisoblagich = tf. O'zgaruvchan (0)
sess.run (qarshi hisoblagich_add (1))
# 1
sess.run (qarshi hisoblagich_sub (1))
# 0 ga qaytaring
Do'stlaringiz bilan baham: |