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).
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.
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
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"
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.
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
Lascia un commento