tensorflow--图的基本操作

Graph()可以创建图,下面的c1和c的图不是同一个图,g2和c是同一个图

import tensorflow as tf

c = tf.constant(0.0)
g = tf.Graph()

with g.as_default():
    c1 = tf.constant(0.0)
    print(c1.graph)
    print(g)
    print(c.graph)

g2 = tf.get_default_graph()
print(g2)
# 重置图需要释放所有资源,否则会报错
tf.reset_default_graph()

g3 = tf.get_default_graph()
print(g3)

重置默认图后,会重新创建一个默认图,g3和g2不相等



W0526 18:46:41.901327 12760 deprecation_wrapper.py:119] From C:/projects/p520/p4.py:12: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.




获取前面在图g中定义的张量
# 通过名字获取图中的张量
print(c1.name)
t =  g.get_tensor_by_name("Const:0")
print(t," -- ",t.name)
Tensor("Const:0", shape=(), dtype=float32)  --  Const:0
获取图中的操作,通过名字

a =  tf.constant([[1.0,2.0]])
b =  tf.constant([[1.0],[2.0]])

tensor1 = tf.matmul(a,b,name="exop")
print(tensor1)
test = g3.get_tensor_by_name("exop:0")
print(test)
tesop = g3.get_operation_by_name("exop")
print(tesop)

with tf.Session() as sess:
    test = sess.run(test)
    print(test)
    test = tf.get_default_graph().get_tensor_by_name("exop:0")
    print(test)

获取图的所有操作:

allops = g3.get_operations()

可以看到,在图中声明常量也算一个操作

[, , ]

你可能感兴趣的:(深度学习)