npm i @tensorflow/tfjs-node
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.15.0/dist/tf.min.js"></script>
<script>
tf.ready().then(() => {
tf.tensor([1, 2, 3]).print();
});
</script>
Installation pour node jsnpm i @tensorflow/tfjs-node
Utilisation dans une page html
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
tf.tensor() — Créer un tenseur simple à partir d’un tableau.
const t = tf.tensor([1, 2, 3]);
t.print();
tf.tensor2d() — Créer un tenseur 2D (matrice).
const t = tf.tensor2d([[1, 2], [3, 4]]);
t.print();
tf.zeros(), tf.ones(), tf.fill()
tf.zeros([2, 2]).print();
tf.ones([2, 2]).print();
tf.fill([2, 2], 9).print();
tf.reshape() — Change la forme du tenseur.
const t = tf.tensor([1, 2, 3, 4]);
t.reshape([2, 2]).print();
tf.transpose() — Transpose un tenseur (ligne ↔ colonne).
const t = tf.tensor2d([[1, 2], [3, 4]]);
t.transpose().print();
tf.concat(), tf.stack() — Concatène ou empile des tenseurs.
const a = tf.tensor([1, 2]);
const b = tf.tensor([3, 4]);
tf.concat([a, b]).print();
tf.stack([a, b]).print();
tf.add(a, b)
const a = tf.tensor([1, 2]);
const b = tf.tensor([3, 4]);
tf.add(a, b).print(); // [4, 6]
tf.sub(a, b)
const a = tf.tensor([5, 6]);
const b = tf.tensor([2, 4]);
tf.sub(a, b).print(); // [3, 2]
tf.mul(a, b)
const a = tf.tensor([2, 3]);
const b = tf.tensor([4, 5]);
tf.mul(a, b).print(); // [8, 15]
tf.div(a, b)
const a = tf.tensor([10, 20]);
const b = tf.tensor([2, 4]);
tf.div(a, b).print(); // [5, 5]
tf.pow(a, exp)
const a = tf.tensor([2, 3]);
tf.pow(a, 2).print(); // [4, 9]
tf.sqrt(a)
const a = tf.tensor([4, 9]);
tf.sqrt(a).print(); // [2, 3]
tf.exp(a)
const a = tf.tensor([1, 2]);
tf.exp(a).print();
tf.log(a)
const a = tf.tensor([1, 10]);
tf.log(a).print();
tf.abs(a)
const a = tf.tensor([-1, 2]);
tf.abs(a).print(); // [1, 2]
tf.neg(a)
const a = tf.tensor([5, -7]);
tf.neg(a).print(); // [-5, 7]
Je sors récemment d’une formation en développement web, et la création de ce site m’a énormément aidé dans mon apprentissage. Il m’a servi à la fois de support de révision et de pense-bête pour garder sous la main les méthodes et bonnes pratiques que j’utilise au quotidien.
Mon objectif est de rédiger du code simple, clair et propre, tout en ayant une ressource rapide pour me rappeler les bases essentielles. Ce site est donc autant un outil personnel qu’un projet que je fais évoluer au fil de mon parcours de développeur.