Il giorno 12 gennaio 2015 10:20, Marco Ippolito <ippolito.ma...@gmail.com>
ha scritto:

> Ciao a tutti,
> mi sto studiando gli algoritmi che trovo qui:
> http://deeplearning.net/tutorial/lenet.html#lenet per adattarli a
> quello che sto facendo io ora.
>
> Nel far ciò ho delle perplessità riguardanti python che mi lasciano
> interdetto...:
>
> class LeNetConvPoolLayer(object):
>     """Pool Layer of a convolutional network """
>
>     def __init__(self, rng, input, filter_shape, image_shape, poolsize=(2,
> 2)):
>
> io pensavo che:
> 1) le variabili messe tra parantesi, che sono quelle passate alla
> classe quando viene chiamata, dovessero obbligatoriamente essere tutte
> poi definite in __init__ , 2) e che tutte le variabili definite
> all'interno di __init__ fossero tutte variabili dell'instanza della
> classe e,. per questo, dovessero avere self
> invece:
> a) tra tutte le variabili in def __init__
> (self, rng, input, filter_shape, image_shape, poolsize=(2, 2)):
> solo self.input = input e poolsize sono definite
> b) solo alcune delle variabili all'interno di __init__ sono state
> definite con self.
>
> Quali potrebbero essere i motivi che hanno portato a definire in
> questo modo le variabili in __init__?
>

perchè mai tutti i valori passati ad init dovrebbero poi essere "salvati"
anche come attributi dell'istanza?
ad esempio il valore di filter_shape viene semplicemente utilizzato nella
funzione __init__ ed, evidentemente, non c'è alcun bisogno di
"ricordarselo" associandolo in modo continuativo all'oggetto creato

ciao,
Marco
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a