/sia-cnn

Primary LanguagePython

sia-cnn

Un CNN en python con arquitectura modular

Dependencias

  • numpy
  • matplotlib
  • opencv

Ejecucion

Para correr el programa principal

python main.py

Para correr algun test

python -m tests.test

Para correr algun experimento

python -m experiments.experiment

Para que el programa funcione se debe bajar el dataset de figuras y ponerlo en una carpeta data en el root del proyecto Todos los resultados se guardaran en una carpeta results en el root del proyecto

Configuracion

La configuracion del main.py tiene la siguiente forma

{
  "epochs": 10,
  "fully_connected_activation": {
    "type": "sigmoid",
    "beta": 1.0
  },
  "optimizer": {
    "type": "adam",
    "eta": 0.001,
    "beta1": 0.9,
    "beta2": 0.999,
    "epsilon": 1e-08
  }
}

epochs indica cuantas epocas correr type de la funcion de activacion puede ser: sigmoid, tanh o relu

Las configuraciones para los optimizadores son:

Gradient descent

{
    "type": "gradient_descent",
    "eta": 0.01
}

Momentum

{
    "type": "momentum",
    "eta": 0.01,
    "momentum": 0.9
}

ETA adaptativo

{
    "type": "adaptive_eta",
    "eta": 0.01,
    "decay_factor": 0.1,
    "increase_factor": 0.1,
    "threshold": 0.01
}

ADAM

{
    "type": "adam",
    "eta": 0.001,
    "beta1": 0.9,
    "beta2": 0.999,
    "epsilon": 1e-08
  }

Referencias

Dataset