Como eu criei minha rede neural usando node.js!
Para criar uma rede neural em Node.js, precisamos primeiro escolher uma biblioteca que nos permita definir e treinar a rede neural. Uma biblioteca popular para isso é o TensorFlow.js, que é uma implementação do TensorFlow em JavaScript.
Para instalar o TensorFlow.js, abra um terminal e digite:
npm install @tensorflow/tfjs
Uma vez que o TensorFlow.js esteja instalado, podemos começar a definir a nossa rede neural. Aqui está um exemplo de como criar uma rede neural simples que usa duas camadas densas:
const tf = require('@tensorflow/tfjs');
// Definindo o modelo
const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [2], units: 4, activation: 'relu'}));
model.add(tf.layers.dense({units: 1, activation: 'sigmoid'}));
// Compilando o modelo
model.compile({optimizer: 'adam', loss: 'binaryCrossentropy', metrics: ['accuracy']});
// Definindo os dados de treinamento
const xs = tf.tensor2d([[0, 0], [0, 1], [1, 0], [1, 1]]);
const ys = tf.tensor2d([[0], [1], [1], [0]]);
// Treinando o modelo
model.fit(xs, ys, {
epochs: 1000,
callbacks: {
onEpochEnd: (epoch, logs) => console.log(`Epoch ${epoch}: loss = ${logs.loss}, accuracy = ${logs.acc}`)
}
}).then(() => {
// Testando o modelo
const result = model.predict(tf.tensor2d([[0, 0], [0, 1], [1, 0], [1, 1]]));
result.print();
});
Neste exemplo, estamos criando uma rede neural que aprende a função XOR. A rede tem uma camada de entrada com duas entradas, duas camadas ocultas com ativação ReLU e uma camada de saída com ativação sigmoide. Usamos a função de perda "binaryCrossentropy" e o otimizador "adam" para treinar o modelo.
Em seguida, criamos dados de treinamento que consistem em quatro exemplos XOR e seus resultados correspondentes. Depois, treinamos o modelo por 1000 épocas e imprimimos a perda e a precisão em cada época. Finalmente, testamos o modelo com os mesmos exemplos de treinamento para ver como ele se saiu.
Espero que isso ajude!