Comenzando con TensorFlow

1. Parámetros extensibles: tomados del diccionario kwargs, que pueden limitar el valor de la clave.

Vars: variables bajo un alcance con nombre (diccionario)

Marcadores de posición: marcadores de posición para variables externas, generalmente rasgos y etiquetas (diccionario).

Capa: la capa de la red neuronal (lista)

Activación: generar el resultado de cada capa (lista)

Entrada: entrada

Salida: Salida

Pérdida: Pérdida

Precisión: Precisión

Optimizador: Optimizador

Opt_op: Optimizar operación

p>

_build es un método de compilación privado que agrega capas al heredar la implementación específica del Modelo. Aquí está el método de compilación:

Llame a _build, todas las variables configuradas * * * espacio compartido (self.name).

Construya una secuencia de modelo: dada la entrada, devuelva la salida a través de la capa(), use esta salida nuevamente como entrada de la siguiente capa(), y repita este proceso finalmente, use el resultado de la última; capa como salida.

Guarde las variables bajo el rango de nombres en self.vars

Medición del efecto del modelo: método _loss, método _accuracy

Archivos de datos estructurados de uso común Los formatos son csv, txt y libsvm. Este artículo explica principalmente cómo leer datos estructurados (csv/txt) de manera eficiente y flexible en el marco TF, evitar algunos métodos irrazonables y dar el primer paso hacia la estandarización y la ingeniería del desarrollo de algoritmos.

La forma más común de leer datos es usar el paquete pandas para leer csv y txt como DataFrame y guardarlos todos en la memoria a la vez. Este es un enfoque muy ineficiente y debe evitarse si es posible. No se recomiendan otros paquetes de terceros (TFLearn, etc.) que encapsulan métodos de lectura de Python. Se recomienda utilizar la operación OP del marco TF para leer datos.

El método de lectura eficiente de TensorFlow es convertir la lectura de datos en OP y extraer los datos a través de la ejecución de la sesión. El hilo de lectura lee continuamente archivos del sistema de archivos en la cola de memoria, mientras que otro hilo es responsable de los cálculos. Cuando se necesitan datos para el cálculo, se pueden tomar directamente de la cola de memoria, lo que puede resolver el problema de que la GPU esté inactiva debido a IO. Al mismo tiempo, no se precargará en la memoria de inmediato y, sin importar cuán grandes sean los datos, no excederá el límite de memoria.

Descenso de gradiente: El descenso de gradiente es un algoritmo de optimización iterativo utilizado en aprendizaje automático para encontrar mejores resultados (mínimos de curvas). Pendiente se refiere a la inclinación de una pendiente o pendiente. La disminución significa una disminución en la función de costos.

? El algoritmo es iterativo, lo que significa que debe usarse varias veces para obtener resultados óptimos. La naturaleza iterativa del descenso de gradiente puede sintetizar el desajuste en un mejor ajuste de los datos.

? Hay un parámetro en el descenso de gradiente llamado tasa de aprendizaje. Como se muestra en el lado izquierdo de la figura anterior, la tasa de aprendizaje es mayor al principio, por lo que el tamaño del paso descendente es mayor. A medida que el punto desciende, la tasa de aprendizaje se hace cada vez más pequeña, por lo que los pasos hacia abajo se hacen más pequeños. Al mismo tiempo, la función de costo también está disminuyendo, o el costo está disminuyendo, a veces llamada función de pérdida o pérdida, que es lo mismo. La reducción de pérdidas/costos es un concepto.

? Solo cuando los datos son muy grandes (en el aprendizaje automático, los datos suelen ser muy grandes), necesitamos usar los términos épocas, tamaño de lote e iteración. En este caso, es imposible introducir los datos en el ordenador de una sola vez. Entonces, para resolver este problema, necesitamos dividir los datos en pequeños fragmentos, alimentarlos a la computadora uno por uno y actualizar los pesos de la red neuronal al final de cada paso para que se ajuste a los datos dados.

(1) Tamaño de lote: Tamaño de lote. En el aprendizaje profundo, generalmente se usa el entrenamiento SGD, es decir, se extraen muestras de tamaño de lote del conjunto de entrenamiento para el entrenamiento cada vez.

(2) Iteración: 1 iteración equivale a entrenar con muestras por lotes una vez; /p>

(3) Época: 1 época equivale a entrenar una vez con todas las muestras en el conjunto de entrenamiento;