Un CNN en python con arquitectura modular
numpy
matplotlib
opencv
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
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:
{
"type": "gradient_descent",
"eta": 0.01
}
{
"type": "momentum",
"eta": 0.01,
"momentum": 0.9
}
{
"type": "adaptive_eta",
"eta": 0.01,
"decay_factor": 0.1,
"increase_factor": 0.1,
"threshold": 0.01
}
{
"type": "adam",
"eta": 0.001,
"beta1": 0.9,
"beta2": 0.999,
"epsilon": 1e-08
}