Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función .addWeight() se usa para agregar una variable de peso a la capa indicada.
Sintaxis:
addWeight(name, shape, dtype?, initializer?, regularizer?, trainable?, constraint?)
Parámetros:
- nombre: Es el nombre indicado de la nueva variable de peso y es de tipo string.
- forma: Es la forma indicada del peso. Es de tipo (nulo | número)[].
- dtype: Es el tipo de datos declarado del peso. Es opcional y puede ser de tipo float32, int32, bool, complex64 o string.
- initializer: Es la instancia del inicializador indicado. Es opcional y es de tipo tf.initializers.Initializer.
- regularizador: Es la instancia de regularizador indicada. Es opcional y es de tipo Regularizador.
- entrenable: establece si el peso debe ser instruido a través de backprop o no, asumiendo que la capa en sí es igualmente entrenable. Es opcional y es de tipo booleano.
- restricción: Es un entrenable opcional y es de tipo tf.constraints.Constraint.
Valor devuelto: Devuelve LayerVariable .
Ejemplo 1:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Creating a model const model = tf.sequential(); // Adding a layer model.add(tf.layers.dense({units: 2, inputShape: [1]})); // Calling addWeight() method const res = model.layers[0].addWeight('wt_var', [1, 5], 'int32', tf.initializers.ones()); // Printing output console.log(res); model.layers[0].getWeights()[0].print();
Producción:
{ "dtype": "int32", "shape": [ 1, 5 ], "id": 1582, "originalName": "wt_var", "name": "wt_var_2", "trainable_": true, "constraint": null, "val": { "kept": false, "isDisposedInternal": false, "shape": [ 1, 5 ], "dtype": "int32", "size": 5, "strides": [ 5 ], "dataId": { "id": 2452 }, "id": 2747, "rankType": "2", "trainable": true, "name": "wt_var_2" } } Tensor [[0.139703, 0.9717236],]
Aquí, el método getWeights() se usa para imprimir los pesos de la capa especificada.
Ejemplo 2:
Javascript
// Importing the tensorflow.js library import * as tf from "@tensorflow/tfjs" // Creating a model const model = tf.sequential(); // Adding a layer model.add(tf.layers.dense({units: 2, inputShape: [1]})); model.add(tf.layers.dense({units: 3})); // Calling addWeight() method const res1 = model.layers[0].addWeight('w_v', [1.2, 1.3], 'float32', tf.initializers.zeros(), true); const res2 = model.layers[1].addWeight('wv', ["a", "b"], 'int32', tf.initializers.ones(), false); // Printing outputs console.log(res1); console.log(res2); model.layers[0].getWeights()[0].print(); model.layers[1].getWeights()[0].print();
Producción:
{ "dtype": "float32", "shape": [ 1.2, 1.3 ], "id": 7, "originalName": "w_v", "name": "w_v", "trainable_": true, "constraint": null, "val": { "kept": false, "isDisposedInternal": false, "shape": [ 1.2, 1.3 ], "dtype": "float32", "size": 1.56, "strides": [ 1.3 ], "dataId": { "id": 4 }, "id": 9, "rankType": "2", "trainable": true, "name": "w_v" } } { "dtype": "int32", "shape": [ "a", "b" ], "id": 8, "originalName": "wv", "name": "wv", "trainable_": true, "constraint": null, "val": { "kept": false, "isDisposedInternal": false, "shape": [ "a", "b" ], "dtype": "int32", "size": null, "strides": [ "b" ], "dataId": { "id": 5 }, "id": 11, "rankType": "2", "trainable": true, "name": "wv" } } Tensor [[0.835237, 0.960075],] Tensor [[0.4747705 , -0.6734858, 1.1417971], [-0.8185477, 0.1940626 , -0.98313 ]]
Aquí, el método tf.initializers.zeros() se usa para producir tensores que se inicializan en cero y el método tf.initializers.ones() se usa para producir tensores que se inicializan en uno.
Referencia: https://js.tensorflow.org/api/latest/#tf.layers.Layer.addWeight
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA