Esercitazione TensorFlow.js

Che cos'è TensorFlow.js?

Una popolare libreria JavaScript per Machine Learning .

Ci consente di addestrare e distribuire modelli di machine learning nel browser .

Consente di aggiungere funzioni di apprendimento automatico a qualsiasi applicazione Web .

Usando TensorFlow

Per utilizzare TensorFlow.js, aggiungi il seguente tag di script ai tuoi file HTML:

Esempio

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>

Per assicurarti di utilizzare sempre l'ultima versione, usa questo:

Esempio 2

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

TensorFlow è stato sviluppato dal Google Brain Team per uso interno di Google, ma è stato rilasciato come software aperto nel 2015.

Nel gennaio 2019, gli sviluppatori di Google hanno rilasciato TensorFlow.js, l'implementazione JavaScript di TensorFlow.

Tensorflow.js è stato progettato per fornire le stesse funzionalità della libreria TensorFlow originale scritta in Python.


Tensori

TensorFlow.js è una libreria JavaScript per definire e operare su Tensor .

Un Tensor è più o meno lo stesso di un array multidimensionale.

Un Tensor contiene valori numerici in una (una o più) forma dimensionale.

Un tensore ha le seguenti proprietà principali:

ProprietàDescrizione
tipo dIl tipo di dati
rangoIl numero di dimensioni
formaLa dimensione di ogni dimensione

Creazione di un tensore

Un Tensor può essere creato da qualsiasi array N-dimensionale :

Esempio 1

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

Esempio 2

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


Forma del tensore

Un Tensor può anche essere creato da un array e un parametro di forma :

Esempio 1

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

Esempio2

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

Esempio3

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


Tipi di dati del tensore

Un Tensor può avere i seguenti tipi di dati:

  • bollo
  • int32
  • float32 (predefinito)
  • complesso64
  • corda

Quando crei un tensore, puoi specificare il tipo di dati come terzo parametro:

Esempio

const tensorA = tf.tensor([1, 2, 3, 4], [2, 2], "int32");
/*
Results:
tensorA.rank = 2
tensorA.shape = 2,2
tensorA.dtype = int32
*/


Recupera i valori del tensore

Puoi ottenere i dati dietro un tensore usando tensor.data() :

Esempio

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

// Result: 1,2,3,4
function display(data) {
  document.getElementById("demo").innerHTML = data;
}

Puoi ottenere l'array dietro un tensore usando tensor.array() :

Esempio

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

// Result: 1,2
function display(data) {
  document.getElementById("demo").innerHTML = data;
}