tutorial libreria example español conv2d classifier python machine-learning keras data-science

python - libreria - ¿Qué tan grande debe ser el tamaño de lote y la cantidad de épocas cuando se ajusta un modelo en Keras?



tensorflow español (4)

Estoy entrenando en 970 muestras y validando en 243 muestras.

¿Qué tan grande debe ser el tamaño de lote y la cantidad de épocas al ajustar un modelo en Keras para optimizar el val_acc? ¿Hay algún tipo de regla general para usar según el tamaño de entrada de datos?


Grandes respuestas por encima. Todos dieron buenos aportes.

Idealmente, esta es la secuencia de los tamaños de lote que deben usarse:

{1, 2, 4, 8, 16} - slow { [32, 64],[ 128, 256] }- Good starters [32, 64] - CPU [128, 256] - GPU for more boost


Usé Keras para realizar una regresión no lineal para el modelado de mezcla de mercado. Obtuve mejores resultados con un tamaño de lote de 32 y épocas = 100 mientras entrenaba un modelo secuencial en Keras con 3 capas ocultas. Generalmente, el tamaño de lote de 32 o 25 es bueno, con épocas = 100 a menos que tenga un conjunto de datos grande. en el caso de un conjunto de datos grande, puede ir con un tamaño de lote de 10 con épocas b / w 50 a 100. De nuevo, las cifras mencionadas anteriormente han funcionado bien para mí.


Ya que tiene un conjunto de datos bastante pequeño (~ 1000 muestras), probablemente estaría seguro utilizando un tamaño de lote de 32, lo cual es bastante estándar. No hará una gran diferencia para su problema a menos que esté entrenando en cientos de miles o millones de observaciones.

Para responder a sus preguntas sobre tamaño de lote y épocas:

En general : los tamaños de lotes más grandes dan como resultado un progreso más rápido en el entrenamiento, pero no siempre convergen tan rápido. Los lotes más pequeños se entrenan más lentamente, pero pueden converger más rápido. Definitivamente es dependiente del problema.

En general , los modelos mejoran con más épocas de entrenamiento, hasta cierto punto. Comenzarán a estabilizarse en la precisión a medida que convergen. Intente algo como 50 y marque el número de épocas (eje x) frente a la precisión (eje y). Verás donde se nivela.

¿Cuál es el tipo y / o forma de sus datos? ¿Son estas imágenes, o solo datos tabulares? Este es un detalle importante.


Uso Keras para realizar regresión no lineal en datos de voz. Cada uno de mis archivos de voz me ofrece funciones que son 25000 filas en un archivo de texto, y cada fila contiene 257 números de valor real. Uso un tamaño de lote de 100, época 50 para entrenar el modelo Sequential en Keras con 1 capa oculta. Después de 50 épocas de entrenamiento, converge bastante bien a un val_loss bajo.