neurali:nemo
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
neurali:nemo [2016/02/24 01:42] – [NeMo] profpro | neurali:nemo [2020/06/08 22:20] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== NeMo ====== | ||
+ | Esistono due versioni di Nemo | ||
+ | |||
+ | * La prima si compila ma non è completa | ||
+ | * [[neurali: | ||
+ | * La seconda è completa ma non si compila (oppure devo escludere CUDA) | ||
+ | * https:// | ||
+ | * {{: | ||
+ | * {{: | ||
+ | |||
+ | |||
+ | ====Descrizione ==== | ||
+ | NeMo (2010?12?) è una libreria per realizzare un simulatore di [[neurali: | ||
+ | |||
+ | * simula reti neurali con [[neurali: | ||
+ | * Nemo adotta per [[neurali: | ||
+ | * Si possono aggiungere facilmente nuovi modelli di neuroni come plugin | ||
+ | * sfrutta l' | ||
+ | * Riesce a simulare reti di 100000 neuroni SNN. | ||
+ | |||
+ | * NeMo (che non compila CUDA!) è anche una libreria di C++ (con collegamenti per il C e Python) | ||
+ | * NeMo è supportato da [[neurali: | ||
+ | * Nemo (che non compila CUDA!) ha una interfaccia grafica [[neurali: | ||
+ | * Nemo (che non compila CUDA!) lavora a basso livello: devo aggiungere un neurone alla volta | ||
+ | * NeMo usa spesso libreria [[neurali: | ||
+ | * ([[neurali: | ||
+ | |||
+ | ===Domande=== | ||
+ | * esistono anche altri modelli di neuroni, tra cui input neuron, ma non esiste output neuron....??? | ||
+ | * esistono i layer su NeMo? no, i neuroni vanno collegati a mano... | ||
+ | |||
+ | ===== Compilazione ===== | ||
+ | | ||
+ | Dipendenze: | ||
+ | cmake openmp libboost-filesystem-dev libboost-date-time-dev libboost-system-dev | ||
+ | libboost-program-options-dev libboost-python-dev nvidia-cuda-toolkit (non free, contrib, | ||
+ | | ||
+ | Prova | ||
+ | |||
+ | nvcc --version | ||
+ | |||
+ | se ti risponde 5+, sei fregato... vedi [[neurali: | ||
+ | |||
+ | |||
+ | | ||
+ | mkdir build | ||
+ | cd build | ||
+ | CC=gcc-4.7 CXX=g++-4.7 cmake .. | ||
+ | make | ||
+ | make install | ||
+ | |||
+ | NOTA: tentativo inutile, nvcc non funziona nemmeno cambiando gcc | ||
+ | |||
+ | [[neurali: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Definizioni==== | ||
+ | |||
+ | Lo sviluppatore che vuole usare NeMo per poter avviare una simulazione deve definire: | ||
+ | * neuroni e sinapsi in un oggetto //network// | ||
+ | * parametri in un oggetto // | ||
+ | * oggetto // | ||
+ | |||
+ | |||
+ | ===== Per definire un neurone ===== | ||
+ | |||
+ | * [[neurali: | ||
+ | * **Neurone**: | ||
+ | * **Sinapsi**: | ||
+ | |||
+ | ===== Funzione STDP ===== | ||
+ | |||
+ | Dopo aver impostato la plasticità sinaptica tra i singoli neuroni, si può attivare la **funzione STDP globale** dell' | ||
+ | |||
+ | Vedere prima [[neurali: | ||
+ | |||
+ | È necessario definire | ||
+ | |||
+ | * i valori massimi dei pesi sinapsi consentiti (eccitatorio ed inibitorio) | ||
+ | * la larghezza della finestra STDP | ||
+ | * un array //pre-post pair// (quando l' | ||
+ | * un array //post-pre pair// | ||
+ | |||
+ | [[neurali: | ||
+ | |||
+ | [[neurali: | ||
+ | |||
+ | [[neurali: | ||
+ | |||
+ | [[neurali:: |
neurali/nemo.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1