Dado que los cálculos de Tensor se componen de gráficos, entonces es mejor interpretar los dos en términos de gráficos.
Tomemos por ejemplo la regresión lineal simple
WX+B=Y
dónde W
y B
representar los pesos y el sesgo y X
las entradas Y
de las observaciones y las salidas de las observaciones.
Obviamente X
y Y
son de la misma naturaleza (variables manifiestas) que difieren de la de W
y B
(variables latentes). X
y Y
son valores de las muestras (observaciones) y, por lo tanto, necesitan un lugar para ser llenado , mientras que W
y B
son los pesos y el sesgo, las variables (los valores anteriores afectan a las últimas) en el gráfico que deben entrenarse utilizando diferentes X
y Y
pares. Colocamos diferentes muestras a los Marcadores de posición para entrenar las Variables .
Solo necesitamos guardar o restaurar las Variables (en los puntos de control) para guardar o reconstruir el gráfico con el código.
Los marcadores de posición son en su mayoría titulares de los diferentes conjuntos de datos (por ejemplo, datos de capacitación o datos de prueba). Sin embargo, las variables se entrenan en el proceso de capacitación para las tareas específicas, es decir, para predecir el resultado de la entrada o asignar las entradas a las etiquetas deseadas. Siguen siendo los mismos hasta que vuelva a entrenar o ajustar el modelo utilizando muestras diferentes o iguales para rellenar los Marcadores de posición a menudo a través del dict. Por ejemplo:
session.run(a_graph, dict = {a_placeholder_name : sample_values})
Los marcadores de posición también se pasan como parámetros para establecer modelos.
Si cambia los marcadores de posición (agregar, eliminar, cambiar la forma, etc.) de un modelo en medio del entrenamiento, aún puede volver a cargar el punto de control sin ninguna otra modificación. Pero si se cambian las variables de un modelo guardado, debe ajustar el punto de control en consecuencia para volver a cargarlo y continuar el entrenamiento (todas las variables definidas en el gráfico deben estar disponibles en el punto de control).
En resumen, si los valores provienen de las muestras (observaciones que ya tiene), puede hacer un marcador de posición para mantenerlos, mientras que si necesita un parámetro para entrenar, aproveche una Variable (simplemente, establezca las Variables para los valores que desea para usar TF automáticamente).
En algunos modelos interesantes, como un modelo de transferencia de estilo , los pixeles de entrada se optimizarán y las variables del modelo normalmente llamadas son fijas, entonces deberíamos hacer que la entrada (generalmente inicializada al azar) sea una variable tal como se implementa en ese enlace.
Para obtener más información, infiera a este documento simple e ilustrativo .
Variable
s, pero noplaceholder
s (cuyos valores siempre deben proporcionarse).