TensorFlow Tutorial
TensorFlow.js is a JavaScript framework to define and operate on Tensors
TensorFlow Tensors have 3 properties:
- Type
- Rank
- Shape
Using TensorFlow
To use TensorFlow.js, add the following script tag to your HTML file(s):
Example
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>
To make sure you always use the latest version, use this:
Example 2
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
Tensors
The central data unit in TensorFlow.js is the Tensor.
A Tensor is much the same as an multidimensional array.
A Tensor has the following properties:
Property | Description |
---|---|
dtype | The data type |
rank | The number of dimensions |
shape | The size of each dimension |
Creating a Tensor
A Tensor can be created from any N-dimensional array:
Example 1
const tensorA = tf.tensor([[1, 2], [3, 4]]);
Example 2
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
Tensor Shape
A Tensor can also be created from an array and a shape parameter:
Example1
const shape = [2, 2];
const tensorA = tf.tensor([1, 2, 3, 4], shape);
Example2
const tensorA = tf.tensor([1, 2, 3, 4], [2, 2]);
Example3
const tensorA = tf.tensor([[1, 2], [3, 4]], [2, 2]);
Tensor Data Types
A Tensor can have the following data types:
- bool
- int32
- float32 (default)
- complex64
- string
When you create a tensor, you can specify the datatype as the third parameter:
Example
const tensorA = tf.tensor([1, 2, 3, 4], [2, 2], "int32");
/*
Results:
tensorA.rank = 2
tensorA.shape = 2,2
tensorA.dtype = int32
*/
Tensor Square
You can square a tensor using tensor.square():
Example
const tensorA = tf.tensor([1, 2, 3, 4]);
// Tensor Square
const tensorSquare = tensorA.square();
// Result [ 2, 6, 12, 20 ]
Tensor Reshape
The number of elements in a tensor is the product of the sizes in the shape.
Since there can be different shapes with the same size, it is often useful to reshape a tensor to other shapes with the same size.
You can reschape a tensor using tensor.reshape():
Example
const tensorA = tf.tensor([[1, 2], [3, 4]]);
const tensorB = tensorA.reshape([4, 1]);
// Result: [ [1], [2], [3], [4] ]
Retrieve Tensor Values
You can get the data behind the tensor using tensor.data():
Example
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;
}
You can get the array behind the tensor using tensor.array():
Example
const tensorA = tf.tensor([[1, 2], [3, 4]]);
tensorA.array().then(array => display(array));
// Result: 1,2
function display(array) {
document.getElementById("demo").innerHTML = array[0];
}