Come posso mettere in pausa un algoritmo genetico in Encog 3.4 (la versione attualmente in sviluppo in Github)?Come posso mettere in pausa/serializzare un algoritmo genetico in Encog?
Sto usando la versione Java di Encog.
Sto cercando di modificare l'esempio Lunar fornito con Encog. Voglio mettere in pausa/serializzare l'algoritmo genetico e quindi continuare/deserializzare in una fase successiva.
Quando chiamo train.pause();
restituisce semplicemente null
- che è abbastanza evidente dal codice dal momento che il metodo restituisce sempre null
.
Suppongo che sarebbe piuttosto semplice poiché potrebbe esserci uno scenario in cui voglio allenare una rete neurale, usarla per alcune previsioni e poi continuare ad allenarmi con l'algoritmo genetico man mano che ottengo più dati prima di riprendere con più previsioni - senza dover ricominciare la formazione dall'inizio.
Si noti che non sto tentando di serializzare o mantenere una rete neurale, ma piuttosto l'intero algoritmo genetico.
Grazie mille, questo spiega e dimostra il concetto. Ma dopo aver caricato l'algoritmo genetico non ottengo una buona risposta, sembra che devo allenare l'algoritmo genetico almeno una volta prima chiamo 'train.getMethod()'. E una nota sulla tua risposta, penso che tu stia allenando la rete neurale 50 volte due volte (cioè 100 volte) dopo averla caricata di nuovo - non 50 volte. – Tmr
Sì, l'esempio sopra lo allena 50 volte, poi salva/carica e si allena altre 50 volte. GA utilizza un'intera popolazione di reti neurali, chiamando getMethod che restituisce la rete neurale più alta dalla popolazione, quindi non sarà troppo utile fino a quando la GA non si sarà allenata. – JeffHeaton