Soy bastante nuevo en TensorFlow pero compartiré mi comprensión hasta ahora. Los conceptos básicos de nivel inferior de TensorFlow son cosas como gráficos, sesiones, variables y operaciones. Los usas para construir y entrenar un modelo.
Si está ejecutando TensorFlow de una sola máquina, estas primitivas son suficientes. Pero si está utilizando TensorFlow distribuido, el código de su aplicación se ejecutará en varias máquinas a la vez, y escribir el código para coordinar cosas como la creación del modelo, la inicialización del modelo y la recuperación de fallas puede ser muy complicado.
Ganchos y andamios son un par de conceptos de apoyo utilizados por MonitoredTrainingSession. Scaffold intenta deducir de su gráfico lo que debe suceder en estas diversas situaciones. En algunos casos, es posible que deba crear un andamio personalizado para controlar este proceso.
- ¿Por qué alguien querría usar el refuerzo sobre el apilamiento?
- ¿Cómo es la aplicación K-Means de maximización de expectativas en Naive Bayes?
- ¿Cuáles son las aplicaciones del procesamiento del lenguaje natural en una revista en línea?
- ¿Por qué los modelos de aprendizaje automático no funcionan bien cuando se usan en la predicción del mercado de valores en vivo, pero, por otro lado, funcionan muy bien sin conexión?
- ¿Cuáles son los algoritmos / documentos de última generación sobre clasificación y recuperación de imágenes?
Los ganchos son códigos adicionales que desea ejecutar en cada trabajador o solo en el jefe. Creo que un ejemplo de esto podría ser la preparación de datos de capacitación para alimentar a su modelo.
Este video es una excelente descripción general de TensorFlow distribuido. No discute el andamio, pero discuten los ganchos en el contexto de MonitoredTrainingSession.