Softmax
con error CrossEntropy
nn.BatchNorm2d(numproc)
weight_decay=...
nn.DropOut(probabilidad)
Para empezar, aquí tienes un fichero base para empezar a trastear Las líneas en las que están cosas a tocar se han marcado con una hilera comentario final: ################
Aparte de todo lo que se te ocurra (en la línea 84 si punes numpasos
un poco alto tardará menos, pero el ajuste será peor), haz los siguientes experimentos:
Conv2d(...)
por nn.utils.parametrizations.orthogonal(nn.Conv2d(...))
Esto hace que el tamaño de una matriz pase a (podemos pensar en aproximadamente la mitad)
Prepara y ajusta. en principio a las de más impacto (más pesos) y vete ampliando hasta que veas que la precisión cae significativamente. Donde te quedes, anota otra línea en la tabla de comparación.
Original | Con filtro separable |
nn.Conv2d(4, 2, kernel_size=(5, 5), padding=2)
|
nn.Conv2d(4, 4, kernel_size=(5, 1), padding=(2, 0)),
|
Fíjate que en ese ejemplo, hemos pasado de 25 pesos a 10 (aunque como hay 4,4 en la primera capa, el ahorro no es así de directo)
Prepara, ajusta primero las capas de más pesos, hasta que veas que la precisión se degrada. Hasta donde llegues, anota otra línea