"New Neural" è un progetto di motore di rete neurale Open Source per la piattaforma MetaTrader 5. - pagina 73
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Il preprocessore serve proprio a questo scopo
Che tu abbia 2 o 100 neuroni, il file ha lo stesso aspetto.
Beh, nessuno ti impedisce di farlo graficamente - basta scrivere una GUI e usarla.
Beh, non tagliamo la spalla, mettiamola in chiaro. Non è detto che sia lo stesso per gli altri, ma per me il modo di caricare che ho esposto sopra è ovvio in termini di algoritmo di caricamento:
leggere una stringa, inizializzare 3 oggetti di tipo layer,
leggiamo la prima riga, poi chiamiamo l'oggetto primo strato, costruiamo lo strato tipo input, inizializziamo l'array di 2 neuroni.
leggere la seconda linea, poi chiamare il secondo oggetto di strato, costruire lo strato di tipo mlp, inizializzare l'array di 2 neuroni.
leggere la terza linea, poi chiamare l'oggetto secondo strato, costruire il tipo di strato mlp, inizializzare l'array di neuroni di 1.
Poiché il numero di strati è 3, finiamo la costruzione sulla terza linea e assegniamo le connessioni.
per farlo, passiamo attraverso la tabella e chiamiamo i neuroni richiesti, dicendo loro i collegamenti se la tabella contiene 1.
E come funzionerebbe l'algoritmo in xml?
ZS e il vantaggio principale è che, poiché la tabella delle connessioni è binaria, è perfettamente collegabile. La tabella per 8 neuroni sta in un ulong. È vero, più ci si addentra nel bosco e più i partigiani sono spessi in generale, la dimensione con un gran numero di neuroni è calcolata come
X=N*N/8
dove N è il numero di neuroni,
X è il numero di byte.
Svantaggi
Propongo XML come standard per memorizzare configurazioni, reti, impostazioni, ...
Ed è necessario solo nelle fasi di inizializzazione/stoccaggio
Nel processo del flusso di lavoro, e ancora di più nel processo di apprendimento, non si parla di XML
Mi scuso per il plagio.
Sì, ma per qualche motivo mostri come Oracle, Microsoft, ... stringono i denti per spingere via i loro standard "binari" (di solito commerciali) e si rivolgono agli standard aperti
Sottrarre 10 MByte di XML non è un problema per i computer moderni
Un documento MS Word .docx di 100 MByte non è intimidatorio?
Se il problema è scaricare una rete da un file XML, allora addestrarlo su tale hardware è semplicemente irrealistico - i compiti sono incomparabili in complessità
Propongo XML come standard per memorizzare configurazioni, reti, impostazioni, ...
Ed è necessario solo nelle fasi di inizializzazione/stoccaggio
Nel processo del flusso di lavoro e ancora di più nella fase di apprendimento, non si tratta di XML
Considerate questo: il vostro file in xml è di 916 byte e in rappresentazione binaria, 64 byte anche se non cliccate sull'intestazione.
7 variabili d'intestazione + 1 per tabella = 8 ulong * 8 byte = 64
Guarda, il tuo file xml è di 916 byte, mentre la rappresentazione binaria è di 64 byte anche se non clicchi l'intestazione.
7 variabili d'intestazione + 1 per tabella = 8 ulong * 8 byte = 64
Per aprire questa pagina del forum, sto pompando attraverso Internet almeno cento kilobyte.
Siamo nel 2012 e non uso l'unità di misura come il byte da molto tempo ))
P.S.
Ho solo suggerito il mio modo - spetta al pubblico decidere
Propongo XML come standard per memorizzare configurazioni, reti, impostazioni, ...
Ed è necessario solo nelle fasi di inizializzazione/stoccaggio
Nel processo del flusso di lavoro, e ancora di più nel processo di formazione, non si tratta di XML.
Per ottimizzare la struttura della rete, è necessario (al volo) cambiare il numero di neuroni e di connessioni.
È possibile farlo?
Se non vi dispiace, per favore commentate i vostri codici, potrebbe volerci troppo tempo per capire il codice di qualcun altro senza commenti. Grazie.
Per ottimizzare la struttura della rete è necessario (al volo) cambiare il numero di neuroni e di connessioni.
È possibile farlo?
Se non è difficile, per favore commentate i vostri codici, sapete, ci vuole troppo tempo per capire i codici degli altri senza commenti. Grazie.
Questo è un problema di formazione. Potenzialmente, è possibile, ma non l'ho usato in pratica.
Di solito, nel processo di apprendimento, la struttura della rete non cambia - solo i parametri adattivi vengono cambiati.
La tua definizione del problema è già un meta-livello, per addestrare un architetto a cambiare la struttura della rete, in modo che la rete risultante avrebbe più successo nell'apprendimento rispetto ad altri
Codici postati "così come sono" - fatti per me e, come al solito, in fretta, quindi scusatemi
In un buon modo, tutto ciò che c'è dovrebbe essere ricostruito dalle ossa dopo che l'intero progetto sarà elaborato
Scarico almeno un centinaio di kilobyte per aprire questa pagina del forum.
Siamo nel 2012 e non uso l'unità di misura come il byte da molto tempo ))
P.S.
Ho solo offerto la mia versione - sta al pubblico decidere.
Facciamo un esperimento, create un caricatore xml per 1000 neuroni con 100 link per neurone, e postate la dimensione del file, la struttura che volete.
Posso calcolare in ginocchio quanto spazio ha la mia variante 1000*1000/8=~125KB, e la tua no, quindi non posso fare un confronto...
Se la vostra versione avrà dimensioni accettabili, perché no.
Non il punto, la memoria, e sulla GPU sarà difficile implementare le torsioni della logica dell'oggetto, ho un'idea abbastanza buona di come implementare il NS, come una complessa interazione di oggetti all'interno dei quali ci sono funzioni di calcoli GPU (questo è circa il livello micro), ma non riesco a immaginare come questo complesso codice oggetto quei NS intero a scivolare la GPU come diversi FF con diversi set di pesi (livello macro) ??
La domanda è retorica, anche se se qualcuno la presenta, non mi dispiacerebbe sentirne parlare.
Ecco perché la scelta è stata fatta per CUDA piuttosto che per il più comune OpenCL
Il codice CUDA è orientato agli oggetti e si può passare bitwise un oggetto generato sulla CPU
Ci sono alcune sottigliezze ma possono essere tutte risolte
Ecco perché CUDA è stato scelto rispetto al più comune OpenCL
Il codice in CUDA è orientato agli oggetti e si può passare bitwise l'oggetto formato sulla CPU
Ci sono sottigliezze, ma tutte possono essere risolte