18.2. TensorFlow asoslari
TensorFlow-da hisoblash ma'lumotlar oqimi grafikalari yordamida tavsiflanadi. Grafadagi har bir tugun matematik operatsiyaning nusxasini (masalan, qo'shish, bo'lish yoki ko'paytirish), har bir chekka esa operatsiyalar bajariladigan ko'p o'lchovli ma'lumotlar to'plamini (tensor) aks ettiradi.
TensorFlow elementlarini muhokama qilishga o'tishdan oldin, avval TensorFlow dasturi qanday ko'rinishini tushunish uchun TensorFlow sessiyasini yaratamiz.
TensorFlow-da doimiylar funktsiya yordamida yaratiladi: doimiy (qiymat, dtype = yo'q, shakli = yo'q, ism = 'Const', verify_shape = noto'g'ri), bu erda qiymat keyingi hisob-kitoblarda ishlatiladigan doimiy qiymat, dtype - ma'lumotlar turini ko'rsatadigan parametr (masalan, float32 / 64, int8 / 16), shakli - bu ma'lumotlar qatorining hajmini ko'rsatuvchi ixtiyoriy parametr, ism - bu tensor uchun nomni belgilaydigan ixtiyoriy. Agar sizga o'qitish modelingiz ichida aniq qiymatlarga ega doimiylar kerak bo'lsa, unda doimiy turidagi ob'ekt quyidagi misolda ishlatilishi mumkin:
z = tf.constant(5.2, name="x", dtype=tf.float32)
TensorFlow-ning o'zgaruvchilari - bu aniq boshlangan bo'lishi kerak bo'lgan tensorlarni o'z ichiga olgan xotira ichidagi buferlar. Oddiy konstruktorni chaqirish orqali biz o'zgaruvchanlikni hisoblash grafigiga qo'shamiz. O'zgaruvchilar ayniqsa, siz o'qitish modellaridan boshlaganingizdan so'ng foydalidir va ular parametrlarni saqlash va yangilash uchun ishlatiladi. Konstruktorga argument sifatida berilgan dastlabki qiymat tenzorga aylantirilishi yoki qaytarilishi mumkin bo'lgan tensor yoki ob'ektdir. Bu shuni anglatadiki, agar biz o'zgaruvchini keyinchalik o'quv jarayonida ishlatiladigan va takrorlash paytida yangilanadigan ba'zi oldindan yoki tasodifiy qiymatlar bilan to'ldirishni istasak, uni quyidagicha aniqlashimiz mumkin:
k = tf.Variable(tf.zeros([1]), name="k")
TensorFlow-da o'zgaruvchini ishlatishning yana bir usuli, agar bu o'zgaruvchini o'qitish mumkin bo'lmasa va uni aniqlash mumkin bo'lsa, quyidagicha hisoblash hisoblanadi:
k = tf.Variable(tf.add(a, b), trainable= False )
TensorFlow sessiyasi TensorFlow ish vaqtini boshqarish va holatini o'z ichiga oladi. Parametrlarsiz sessiya joriy sessiyada yaratilgan standart grafikadan foydalanadi, aks holda sessiya sinfi ushbu sessiyada bajarish uchun ishlatiladigan grafik parametrini oladi. Quyida yuqorida keltirilgan atamalarni TensorFlow-da y = a * x + b oddiy chiziqli funktsiyani hisoblash uchun qanday ishlatilishini ko'rsatadigan qisqa kod parchasi berilgan:
import tensorflow as tf
x = tf.constant(-2.0, name="x", dtype=tf.float32) a = tf.constant(5.0, name="a", dtype=tf.float32) b = tf.constant(13.0, name="b", dtype=tf.float32) y = tf.Variable(tf.add(tf.multiply(a, x), b))
init = tf.global_variables_initializer() with tf.Session() as session:
session.run(init) print(session.run(y))
Do'stlaringiz bilan baham: |