Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get a tensorflow op by name?

Tags:

You can get a tensor by name with tf.get_default_graph().get_tensor_by_name("tensor_name:0")

But can you get an operation, such as Optimizer.minimize, or an enqueue operation on a queue?

In my first model I returned all tensors and ops I would need from a build_model function. But the list of tensors got ugly. In later models I tossed all tensors and ops in a dictionary for easier access. This time around I thought I'd just look up tensors by name as I needed them, but I don't know how to do that with ops.

Or is there a better way to do this? I find various tensors and ops are needed all over the place. Training, inference code, test cases, hence the desire for a nice standard way of accessing the various parts of the graph without passing variables all over the place.

like image 456
David Parks Avatar asked Mar 09 '17 03:03

David Parks


1 Answers

You can use the tf.Graph.get_operation_by_name() method to get a tf.Operation by name. For example, to get an operation called "enqueue" from the default graph:

op = tf.get_default_graph().get_operation_by_name("enqueue") 
like image 159
mrry Avatar answered Sep 21 '22 06:09

mrry