TFJS modellari


ULASHISH

TesorFlow.js

Quyidagilar uchun JavaScript kutubxonasi:

Brauzerda
mashinali o‘rganish modellarini
o‘qitish va joylashtirish


Tensorflow modellari

Modellar va qatlamlar mashinali o‘rganishning muhim qurilish bloklaridir.

Turli mashinali o‘rganish vazifalari uchun turli xil qatlamlarni ma’lumotlar bilan o‘qitilib, kelajakdagi qiymatlarni bashorat qila oladigan modelga birlashtirishingiz kerak.

TensorFlow.js turli xil modellarni va turli xil qatlamlarni qo‘llab-quvvatlaydi.

TensorFlow modeli — bir yoki bir nechta qatlamdan iborat neyron tarmoq.


Tensorflow loyihasi

Tensorflow loyihasi odatda quyidagi ish jarayoniga ega:

  • Ma’lumotlarni yig‘ish
  • Model yaratish
  • Modelga qatlamlar qo‘shish
  • Modelni kompilyatsiya qilish
  • Modelni o‘qitish
  • Modeldan foydalanish

Misol

Aytaylik, siz to‘g‘ri chiziqni aniqlovchi funksiyani bilasiz:

Y = 1.2X + 5

U holda istalgan y qiymatini quyidagi JavaScript formulasi bilan hisoblashingiz mumkin:

y = 1.2 * x + 5;

Tensorflow.js’ni namoyish qilish uchun X kirish qiymatlari asosida Y qiymatlarini bashorat qiladigan Tensorflow.js modelini o‘qitishimiz mumkin.

Eslatma

TensorFlow modeli funksiyani bilmaydi.

// Create Training Data const xs = tf.tensor([0, 1, 2, 3, 4]); const ys = xs.mul(1.2).add(5); // Define a Linear Regression Model const model = tf.sequential(); model.add(tf.layers.dense({units:1, inputShape:[1]})); // Specify Loss and Optimizer model.compile({loss:'meanSquaredError', optimizer:'sgd'}); // Train the Model model.fit(xs, ys, {epochs:500}).then(() => {myFunction()}); // Use the Model function myFunction() {   const xMax = 10;   const xArr = [];   const yArr = [];   for (let x = 0; x <= xMax; x++) {     let result = model.predict(tf.tensor([Number(x)]));     result.data().then(y => {       xArr.push(x);       yArr.push(Number(y));       if (x == xMax) {plot(xArr, yArr)};     });   } }

O‘zingiz sinab ko‘ring »

Misol quyida tushuntirilgan:



Ma’lumotlarni yig‘ish

5 ta x qiymatiga ega tenzor (xs) yarating:

const xs = tf.tensor([0, 1, 2, 3, 4]);

5 ta to‘g‘ri y javobiga ega tenzor (ys) yarating (xs ni 1.2 ga ko‘paytiring va 5 ni qo‘shing):

const ys = xs.mul(1.2).add(5);

Model yaratish

Ketma-ket (sequential) model yarating:

const model = tf.sequential();

Eslatma

Ketma-ket modelda bir qatlamning chiqishi keyingi qatlamning kirishi bo‘ladi.


Qatlamlar qo‘shish

Modelga bitta zich (dense) qatlam qo‘shing.

Qatlam faqat bitta birlikdan (tenzordan) iborat va uning shakli 1 ga teng (bir o‘lchamli):

model.add(tf.layers.dense({units:1, inputShape:[1]}));

Eslatma

Zich qatlamda har bir tugun oldingi qatlamdagi har bir tugun bilan bog‘langan.


Modelni kompilyatsiya qilish

Modelni yo‘qotish funksiyasi (loss function) sifatida meanSquaredError va optimallashtiruvchi funksiya sifatida sgd (stoxastik gradiyent tushish) yordamida kompilyatsiya qiling:

model.compile({loss:'meanSquaredError', optimizer:'sgd'});

Tensorflow optimallashtiruvchilari (optimizers)

  • Adadelta - Adadelta algoritmini amalga oshiradi.
  • Adagrad - Adagrad algoritmini amalga oshiradi.
  • Adam - Adam algoritmini amalga oshiradi.
  • Adamax - Adamax algoritmini amalga oshiradi.
  • Ftrl - FTRL algoritmini amalga oshiradi.
  • Nadam - NAdam algoritmini amalga oshiradi.
  • Optimizer - Keras optimallashtiruvchilari uchun asosiy sinf.
  • RMSprop - RMSprop algoritmini amalga oshiradi.
  • SGD - stoxastik gradiyent tushish optimallashtiruvchisi.

Modelni o‘qitish

Modelni (xs va ys yordamida) 500 marta takrorlash (epoxa) bilan o‘qiting:

model.fit(xs, ys, {epochs:500}).then(() => {myFunction()});

Modeldan foydalanish

Model o‘qitilgandan so‘ng undan turli maqsadlarda foydalanishingiz mumkin.

Bu misol berilgan 10 ta x qiymati asosida 10 ta y qiymatini bashorat qiladi va bashoratlarni grafikda chizish uchun funksiyani chaqiradi:

function myFunction() {   const xMax = 10;   const xArr = [];   const yArr = [];   for (let x = 0; x <= xMax; x++) {     let result = model.predict(tf.tensor([Number(x)]));     result.data().then(y => {       xArr.push(x);       yArr.push(Number(y));       if (x == xMax) {plot(xArr, yArr)};     });   } }

O‘zingiz sinab ko‘ring »

Bu misol berilgan 10 ta x qiymati asosida 10 ta y qiymatini bashorat qiladi va qiymatlarni ko‘rsatish uchun funksiyani chaqiradi:

function myFunction() {   const xMax = 10;   const xArr = [];   const yArr = [];   for (let x = 0; x <= xMax; x++) {     let result = model.predict(tf.tensor([Number(x)]));     result.data().then(y => {       xArr.push(x);       yArr.push(Number(y));       if (x == xMax) {display(xArr, yArr)};     });   } }

O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!