Intelligenza Artificiale con Brain.js

13 Agosto 2024 di Daniele Frulla


Non si fa che parlare di intelligenza artificiale e solo pochi riescono a comprendere esattamente cosa sia. Sta di fatto che la stiamo usando tutti i giorni!

Tra i tanti progetti che esistono, mi sono soffermato su Brain.js.

Brain.js e’ nato e sviluppato come progetto opensource, poi quasi lasciato dal suo autore. Gli sviluppatori si sono riuniti, ed hanno deciso che il progetto era valido e non si poteva abbandonare.

Creata una repository ad-hoc per brain.js, hanno lasciato il nome del creatore e lo hanno cosi’ dato in pasto alla comunita’ opensource.

Bran.js e’ un framework per la creazione di reti neurali. Le reti neurali sono le basi per la creazione di una intelligenza artificiale.

Questo tools, a differenza di altri, che utlizzano in prevalenza python come motore di sviluppo, e’ stato implementato in javascript.

Idea fantastica perche’ con poche righe di codice puoi portare il tuo progetto direttamente sul client, senza necessita’ di installazioni (solo browser).

Compilazione Brain.js con Docker

Di questo progetto non ho trovato abbastanza notizie sulla compilazione e creazione del file brain.js da inserire nella pagina html.

Vi mostro come ho compilato il progetto.

Creato il file Dockerfile


FROM node:16.20.2

RUN apt-get update  \
  && apt-get install -y build-essential libglew-dev libglu1-mesa-dev libxi-dev pkg-config

RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app

WORKDIR /home/node/app

USER node

RUN npm i run-p

COPY --chown=node:node . .

RUN rm package-lock.json && touch ./dist
RUN npm i

Container Con il Codice browser.js

Dal file Dockerfile possiamo ora lanciare il comando per la costruzione del container:

docker build -t brain .

Possiamo ora copiarci il file browser.js e portarlo in locale. Questo file che contiene la libreria per creare ed addestrare reti neurali:

docker run --rm -v .:/dist brain /bin/bash -c "cp dist/browser.js /dist/brain.js"

Distribuzione del File brain.js

Non ci resta altro da fare che distribuire il nostro file in qualche CDN (Content Delivery Network) per poterlo utilizzare nelle nostre pagine web che diventeranno vere e proprie reti neurali.

Esempio Pagina Web con Javascript Brain.js

Quello che segue e’ un esempio di come potremmo creare la nostra rete neurale con un file html.

Possiamo chiamare il file index.html.

<!DOCTYPE html>
<html>
<script src="brain.js"></script>
<body>
<h1>Deep Learning with brain.js</h1>
<div id="demo"></div>

<script>
// Create a Neural Network
const network = new brain.NeuralNetwork();

// Train the Network with 4 input objects
network.train([
  {input:[0,0], output:{zero:1}},
  {input:[0,1], output:{one:1}},
  {input:[1,0], output:{one:1}},
  {input:[1,1], output:{zero:1}},
]);

// What is the expected output of [1,0]?
let result = network.run([1,0]);

printResult(result);
let result1 = network.run([1,1]);
printResult(result1);

function printResult(result) {
  // Display the probability for "zero" and "one"
  document.getElementById("demo").innerHTML =
  "one: " + result["one"] + "<br>" + "zero: " + result["zero"];
}
</script>
</body>
</html>

Se vi è piacuto l’articolo potete aiutarmi condividendolo nei vostri social!

Grazie

Related Posts


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812