НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Штучний інтелект. Уроки для початківців

En

TensorFlow.js Підручник


TensorFlow

Що таке TensorFlow.js?

Tensorflow — популярна бібліотека JavaScript для машинного навчання.

Tensorflow дозволяє навчати та розгортати машинне навчання у браузері.

Tensorflow дозволяє додавати функції машинного навчання до будь-якої веб-програми.

Використання TensorFlow

Щоб використовувати TensorFlow.js, додайте наступний тег скрипту до своїх файлів HTML:

Приклад

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.6.0/dist/tf.min.js"></script>

Якщо ви завжди хочете використовувати останню версію, скиньте номер версії:

Приклад 2

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

TensorFlow було розроблено Google Brain Team для внутрішнього використання Google, але було випущено як відкрите програмне забезпечення у 2015 році.

У січні 2019 року розробники Google випустили TensorFlow.js, JavaScript реалізацію TensorFlow.

Tensorflow.js було розроблено, щоб забезпечити ті самі функції, що й оригінальна бібліотека TensorFlow, написана на Python.


Що таке тензор?

Те́нзор (від лат. tendere, «тягнутись, простиратися») — математичний об'єкт, що узагальнює такі поняття як скаляр, вектор, ковектор, лінійний оператор і білінійна форма. Вивченням тензорів займається тензорне числення.

В деякому базисі тензор представляється у вигляді багатовимірної таблиці d × d × ⋯ × d {\displaystyle d\times d\times \cdots \times d} (число співмножників збігається з валентністю тензора), заповненої числами (компонентами тензора). При заміні базису компоненти тензора змінюються певним чином, при цьому сам тензор не залежить від вибору базису.

Із Вікіпедії

Тензори

TensorFlow.js — це бібліотека JavaScript для визначення та роботи з тензорами.

Основним типом даних у TensorFlow.js є Tensor.

Тензор багато в чому схожий на багатовимірний масив.

Тензор містить значення в одному чи кількох вимірах:

Тензор

Тензор має такі основні властивості:

ВластивістьОпис
dtypeТип даних
rankКількість вимірів
shapeРозмір кожного виміру

Іноді в машинному навчанні термін "розмір" використовується як взаємозамінний з "рангом".

[10, 5] є двовимірним тензором або 2-ранговим тензором.

Крім того, термін "розмірність" може стосуватися розміру одного виміру.

Приклад: у двовимірному тензорі [10, 5] розмірність першого виміру становить 10.


Створення тензора

Основним типом даних у TensorFlow є Tensor.

Тензор створюється з будь-якого N-вимірного масиву за допомогою методу tf.tensor():

Приклад 1

const myArr = [[1, 2, 3, 4]];
const tensorA = tf.tensor(myArr);

Спробуйте самі »

Приклад 2

const myArr = [[1, 2], [3, 4]];
const tensorA = tf.tensor(myArr);

Спробуйте самі »

Приклад 3

const myArr = [[1, 2], [3, 4], [5, 6]];
const tensorA = tf.tensor(myArr);

Спробуйте самі »


Форма тензора

Тензор також можна створити з масиву та параметра форми:

Приклад1

const myArr = [1, 2, 3, 4]:
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

Спробуйте самі »

Приклад2

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

Спробуйте самі »

Приклад3

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

Спробуйте самі »


Отримати тензорні значення

Ви можете отримати дані за тензором за допомогою tensor.data():

Приклад

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.data().then(data => display(data));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

Спробуйте самі »

Ви можете отримати масив за тензором за допомогою tensor.array():

Приклад

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.array().then(array => display(array[0]));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

Спробуйте самі »

const myArr = [[1, 2], [3, 4]];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);
tensorA.array().then(array => display(array[1]));

function display(data) {
  document.getElementById("demo").innerHTML = data;
}

Спробуйте самі »

Ви можете отримати ранг тензора за допомогою tensor.rank:

Приклад

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.rank;

Спробуйте самі »

Ви можете отримати форму тензора за допомогою tensor.shape:

Приклад

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.shape;

Спробуйте самі »

Ви можете отримати тип даних тензора за допомогою tensor.dtype:

Приклад

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape);

document.getElementById("demo").innerHTML = tensorA.dtype;

Спробуйте самі »


Тензорні типи даних

Тензор може мати такі типи даних:

  • bool
  • int32
  • float32 (default)
  • complex64
  • string

Коли ви створюєте тензор, ви можете вказати тип даних як третій параметр:

Приклад

const myArr = [1, 2, 3, 4];
const shape = [2, 2];
const tensorA = tf.tensor(myArr, shape, "int32");

Спробуйте самі »