Unrue
26-09-2007, 08:55
Salve ragazzi,
sono in procinto di implementare una rete neurale in C++, peṛ avrei bisogno di qualche consiglio sul come organizzare il codice per quanto riguarda classi, ereditarietà, classi astratte ecc ecc.
La mia idea di partenza era quella di creare una classe principale che corrisponde alla rete neurale completa, quindi si occuperebbe di inizializzare i vari pesi, bias, funzioni di attivazione, in base ai parametri che gli passiamo.
Poi vorrei implementare un'altra classe Train che si occupa di addestrare una rete neurale quindi avrebbe tra i suoi metodi uno che prende in ingresso la rete neurale da addestrare. La classe per l'addestramento pensavo di farla astratta, in modo poi da implementare da questa varie tecniche di addestramento ad esempio backpropagation standard, resilient backpropagation, ecc.
Secondo voi questo potrebbe essere un buono schema? Cosa aggiungereste? E' troppo limitato? Grazie :)
sono in procinto di implementare una rete neurale in C++, peṛ avrei bisogno di qualche consiglio sul come organizzare il codice per quanto riguarda classi, ereditarietà, classi astratte ecc ecc.
La mia idea di partenza era quella di creare una classe principale che corrisponde alla rete neurale completa, quindi si occuperebbe di inizializzare i vari pesi, bias, funzioni di attivazione, in base ai parametri che gli passiamo.
Poi vorrei implementare un'altra classe Train che si occupa di addestrare una rete neurale quindi avrebbe tra i suoi metodi uno che prende in ingresso la rete neurale da addestrare. La classe per l'addestramento pensavo di farla astratta, in modo poi da implementare da questa varie tecniche di addestramento ad esempio backpropagation standard, resilient backpropagation, ecc.
Secondo voi questo potrebbe essere un buono schema? Cosa aggiungereste? E' troppo limitato? Grazie :)