Obtener estadísticas de CostModel / estimaciones en TensorFlow?

¿Hay una manera fácil de obtener estadísticas / estimaciones como el tiempo estimado, el conteo total o la memoria de los tensores de entrada / salida en TensorFlow, por ejemplo, a través de la API de python?

Lo primero que debe hacer es habilitar la recostackción del modelo de costo:

# Collect and aggregate statistics every 50 iterations options = tf.GraphOptions(build_cost_model=50) cfg = tf.ConfigProto(graph_options=options) sess = tf.Session(config=cfg) 

A continuación, puede generar una versión actualizada del modelo de costos de la siguiente manera:

 metadata = tf.RunMetadata() # This is optional, but will generally give you more accurate statistics, run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE) for step in xrange(0, 1000): _ = sess.run([train_op], options=run_options, run_metadata=metadata) if len(metadata.cost_graph.node) > 0: print ("HERE IS THE COST GRAPH " + str(metadata.cost_graph))