View Full Version : [c]variabile non dichiarata,anche se..
il mio problema é che dichiaro delle variabili, ma quando compilo mi dice che non sono dichiarate:
typedef struct TypeNeuron neuron;
typedef struct TypeSynapsis sinapsi;
typedef struct TypeLayer layer;
typedef struct TypeNN neuralnet;
#define _PRECISION float
struct TypeNeuron {
_PRECISION trans_value;
_PRECISION prop_value;
sinapsi* in_links[16];
int num_in_links;
sinapsi* out_links[16];
int num_out_links;
_PRECISION (*trans_func)(_PRECISION prop_value);
};
struct TypeSynapsis {
_PRECISION delta;
_PRECISION weight;
neuron *in,*out;
};
struct TypeLayer {
neuron** elements;
int num_elements;
void (*update_weights)(layer* lPtr);
};
struct TypeNN {
int max_epochs;
_PRECISION l_rate;
layer* input_layer;
layer* hidden_layer;
layer* output_layer;
};
void init_net(neuralnet *net) {
net = (neuralnet*) malloc(sizeof(neuralnet));
max_epochs=1024; // Valore arbitrario
l_rate=0.5; // Valore arbitrario
}
max_epochs e l_rate mi dice che non sono dichiarate...come mai?
perché non sono variabili, ma campi di una struct. qui siamo ai fondamentali, eh: piglia il libro e studia, non sei ancora in grado di programmare (neanche in C :asd: ).
no dai nn dirmi cosi (sara che studio economia e sono autodidatta:P)
quindi devo dichiararle queste variabili, ma dove?
ma scusa..
struct TypeNN {
int max_epochs;
_PRECISION l_rate;
layer* input_layer;
layer* hidden_layer;
layer* output_layer;
};
non é dichiarare max_epochs??
salvodel
09-07-2008, 11:15
no dai nn dirmi cosi (sara che studio economia e sono autodidatta:P)
Scusa se mi intrometto ma volevo chiederti una cosa: stai realizzando una rete neurale?:fagiano:
no dai nn dirmi cosi (sara che studio economia e sono autodidatta:P)
quindi devo dichiararle queste variabili, ma dove?
ma scusa..
struct TypeNN {
int max_epochs;
_PRECISION l_rate;
layer* input_layer;
layer* hidden_layer;
layer* output_layer;
};
non é dichiarare max_epochs??
No, devi creare una variabile di tipo struct TypeNN (o di tipo neuralnet, visto il typedef) e poi accedere a quel campo mediante l'operatore punto "." ;)
Scusa se mi intrometto ma volevo chiederti una cosa: stai realizzando una rete neurale?:fagiano:
avevo aperto un topic su questo: sto provando a compilare il codice preso da questo documento http://www.orebla.it/file/reti.pdf
se riesci a compilarlo dimmi:D
No, devi creare una variabile di tipo struct TypeNN (o di tipo neuralnet, visto il typedef) e poi accedere a quel campo mediante l'operatore punto "." ;)
che casino...mi sa che devo studiarmi meglio le strutture...
salvodel
09-07-2008, 12:20
avevo aperto un topic su questo: sto provando a compilare il codice preso da questo documento http://www.orebla.it/file/reti.pdf
se riesci a compilarlo dimmi:D
Io sto facendo tutt'altro con le reti neurali. Il problema non è tanto la rete neurale in se per se quanto l'algoritmo di minimizzazione che si utilizza. Se non ricordo male nell'esempio postato utilizzano la backpropagation standard che è un "po" lenta.
Io cmq non utilizzo ne le strutture in C ne le classi in C++ e sto cercando di capire se ho fatto la scelta giusta visto che utilizzo solo matrici :coffee: .
Ciao
ah..ma che linguaggio utilizzi?
avresti degli esempi pratici da postarmi? che io voglio "immergermi" ma nn so da dove iniziare
salvodel
09-07-2008, 15:42
ah..ma che linguaggio utilizzi?
avresti degli esempi pratici da postarmi? che io voglio "immergermi" ma nn so da dove iniziare
Io lo sto facendo in C:cry: ma se tu non hai problemi di nessun timpo potresti utilizzare Matlab e ti si risolverebbero un sacco di problemi in meno di un pomeriggio. Matlab ha gia tutto e fa di tutto in modo easy e forse ha anche un'interfaccia grafica. Se invece vuoi fare tutto questo in C per altri motivi ti avverto che la strada è in salita sopratutto se non sei esperto ne di reti ne di C come me :cry: :
Un po di matematica delle rete la puoi trovare qui (http://www.skenz.it/stefano/tesi/2_2_1_Concetti_base.html) e come vedi la rete è una cavolata. Il problema è nella determinazione dei pesi. Ci sono vari algoritmi e come ti dicevo su internet è pieno di esempi C(non so se funzionano) di reti ma con la backpropagation.
Ciao
Io lo sto facendo in C:cry: ma se tu non hai problemi di nessun timpo potresti utilizzare Matlab e ti si risolverebbero un sacco di problemi in meno di un pomeriggio. Matlab ha gia tutto e fa di tutto in modo easy e forse ha anche un'interfaccia grafica. Se invece vuoi fare tutto questo in C per altri motivi ti avverto che la strada è in salita sopratutto se non sei esperto ne di reti ne di C come me :cry: :
Un po di matematica delle rete la puoi trovare qui (http://www.skenz.it/stefano/tesi/2_2_1_Concetti_base.html) e come vedi la rete è una cavolata. Il problema è nella determinazione dei pesi. Ci sono vari algoritmi e come ti dicevo su internet è pieno di esempi C(non so se funzionano) di reti ma con la backpropagation.
Ciao
anchio voglio usare c, ma non necessariamente le matrici. Non hai un esempio (compilabile) senza usare le matrici?
grazie
salvodel
11-07-2008, 13:12
anchio voglio usare c, ma non necessariamente le matrici. Non hai un esempio (compilabile) senza usare le matrici?
grazie
Mi dispiace, io purtroppo non ho niente perche non mi interessava ma se metti su google neural networks c++ si trova un po di roba.
Ciao
^TiGeRShArK^
11-07-2008, 13:28
:mbe:
ma invece usare un linguaggio un pò + user-friendly come il C# o il python? :stordita:
in che senso piu friendly? piu "facile"?
non ci ho pensato a cercare qlc per python, tu hai degli esempi gia pronti?:D
grazie
cdimauro
11-07-2008, 14:11
MOLTO, MOLTO, MOLTO più facile. ;)
http://www.ibm.com/developerworks/library/l-neural/
http://sourceforge.net/projects/pylibneural/
http://pypi.python.org/pypi/ffnet/0.6
Oppure qui, con anche un bell'esempio gia' implementato per fare il face-detection
http://franck.fleurey.free.fr/NeuralNetwork/index.htm
Face detection, non face recognition, ma e' un primo passo...
Ah, se vuoi applicare una rete neurale ai dati della borsa (ho letto che fai economia), io ho inziato 10 anni fa.
La mia conclusione per ora e' che le i dati della borsa approssimano bene il rumore bianco. Assolutamente casuali.
Rumore Grigetto diciamo.
!k-0t1c!
11-07-2008, 20:11
Ah, se vuoi applicare una rete neurale ai dati della borsa (ho letto che fai economia), io ho inziato 10 anni fa.
La mia conclusione per ora e' che le i dati della borsa approssimano bene il rumore bianco. Assolutamente casuali.
Rumore Grigetto diciamo.
Questo è dato dal fatto che molti indicatori non sono conenuti nelle sole variazioni di una quotazione. Se succede qualcosa come è successo a nVIDIA con i chip G84 mal costruiti e dichiari che ti aspetti ingenti perdite nel quarto successivo, stai tranquillo che anche se il giorno prima eri in stabile crescita il giorno dopo sei sotto. Se vuoi usare le reti neurali per la finanza l'unico campo dove ho osservato che rendono qualcosa di decente è l'intraday trading. Già se arrivi all'end-of-day non vale più la pena di starci dietro.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.