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不相等

<tensorflow.python.framework.ops.Graph object at 0x000001D96493F6D8>
<tensorflow.python.framework.ops.Graph object at 0x000001D96493F6D8>
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.
<tensorflow.python.framework.ops.Graph object at 0x000001D96492A940>

<tensorflow.python.framework.ops.Graph object at 0x000001D96492A940>
<tensorflow.python.framework.ops.Graph object at 0x000001D90BB17DA0>
获取前面在图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()

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

[<tf.Operation 'c1' type=Const>, <tf.Operation 'c2' type=Const>, <tf.Operation 'exop' type=MatMul>]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值