python - online - tensorflow guide
¿Cómo puedo seleccionar qué punto de control ver en la pestaña de incrustaciones de TensorBoard? (1)
Soy uno de los ingenieros que trabajan en el visualizador de incrustación. Gracias por la respuesta. Estamos planeando agregar un menú desplegable en la interfaz de usuario que le permite elegir diferentes puntos de control.
Mientras tanto, hay una solución. Puede editar el archivo projector_config.pbtxt
que se encuentra en la carpeta donde TensorBoard guarda el registro. Supongo que los contenidos de projector_config.pbtxt
son:
embeddings {
...
}
Agregue la siguiente línea al final del archivo:
model_checkpoint_path: "path_to_log_dir/model_0000N.ckpt"
señalando el punto de control exacto que desea visualizar, y elimine (si existe) la línea model_checkpoint_dir: "..."
. A continuación, actualice la página (y vuelva a ejecutar TensorBoard).
Por ejemplo, si ha lanzado TensorBoard con tensorboard --logdir=output
, y la ruta absoluta del punto de control del modelo es C:/Users/a/output/en_2017-03-08_17-42-09-310106/model/model_00004.ckpt
, entonces deberías anexar a projector_config.pbtxt
:
model_checkpoint_path: "output/en_2017-03-08_17-42-09-310106/model/model_00004.ckpt"
Ejemplo de projector_config.pbtxt
:
embeddings {
tensor_name: "token_embedding/W:0"
}
model_checkpoint_path: "output/en_2017-03-08_17-42-09-310106/model/model_00004.ckpt"
Si al hacer clic en la pestaña de incrustaciones en TensorBoard no aparece nada, significa que model_checkpoint_path
que ha introducido es incorrecto.
¡Espero que esto ayude!
Pregunta breve: ¿Cómo puedo seleccionar qué punto de control ver en la pestaña de incrustaciones de TensorBoard?
Versión más larga de la pregunta:
Quiero visualizar incrustaciones de palabras con TensorBoard. Para eso, después de leer el tutorial oficial ( espejo ) agregué el siguiente código:
embedding_writer = tf.summary.FileWriter(model_folder)
embeddings_projector_config = projector.ProjectorConfig()
embedding = embeddings_projector_config.embeddings.add()
embedding.tensor_name = model.W.name # W corresponds to the embeddings'' weights.
projector.visualize_embeddings(embedding_writer, embeddings_projector_config)
# Initialize the model
sess.run(tf.global_variables_initializer())
[...]
# Then, for each training epoch:
model_saver.save(sess, os.path.join(model_folder, ''model_{0:05d}.ckpt''.format(epoch_number)))
Al mirar la carpeta donde TensorFlow guarda el registro, tengo un punto de control para cada época:
Sin embargo, en la pestaña de incrustaciones de TensorBoard, parece que solo puedo ver el último punto de control:
A veces me gustaría ver las incrustaciones de épocas anteriores. ¿Cómo puedo seleccionar qué punto de control ver en la pestaña de incrustaciones de TensorBoard?