Tensorflow中张量,节点,命名理解

张量,节点,命名理解

在定义静态图的时候,

a = tf.constant([1.0,2.0],name='x')

b = tf.constant([1.0,2.0],name='y')

c = tf.add(a,b,name='nmsl')

print(c)

<tensor>:nmsl:0,shape,dtype)

可以看出,c是一个tensor类型,所以tensor其实代表一个数据流,说白了就是一个节点输出,其中每个tensor的名字为对应节点的名字加:0,0代表该节点的第一个输出tensor.

其实一般一个节点只有一个输出,所以后面基本都是补零,因为如果写个d=tf.add(a,b,name='nmsl'),这个节点被改名字为nmsl_1, 所以d这个tensor的名字就做nmsl_1:0.

总结:<张量> tensor就是指输出的数据,名字就是其对应节点名字加:0。节点(op)包括两种属性:1.name(这个那么可以自己指定,不指定话就被默认把op换成小写的字母作为name). 2.OP(有时也叫type,可以理解为tensorflow中的基本类型,常见的有Add,Mul。。。。。)

注意:如果在同一个命名空间中,如果命名name已经存在,则name会自动的在名字后面补充_1,_2....依次往后添加。

测试代码:

>>> import tensorflow as tf
>>> a=tf.constant([1.0,2.0],name='test1')
>>> b=tf.constant([1.0,2.0],name='test2')
>>> result=a+b
>>> sess=tf.Session()
2019-05-30 19:36:03.027829: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
>>> tf.train.write_graph(tf.get_default_graph(),"./","model.pbtxt")
'./model'
>>> print(result)
Tensor("add:0", shape=(2,), dtype=float32)
>>> sess.close()
>>> result2=tf.multiply(a,b,name="nmsl")
>>> sess=tf.Session()
>>> tf.train.write_graph(tf.get_default_graph(),"./","model.pbtxt")
'./model.pbtxt'
>>> print(result2)
Tensor("nmsl:0", shape=(2,), dtype=float32)
>>> sess.close()
>>> d=tf.multiply(a,b,name="nmsl")
>>> sess=tf.Session()
>>> tf.train.write_graph(tf.get_default_graph(),"./","model.pbtxt")
'./model.pbtxt'
>>> print(d)
Tensor("nmsl_1:0", shape=(2,), dtype=float32)
>>> sess.close()
>>> e=a+b
>>> f=d+a
>>> sess=tf.Session()
>>> tf.train.write_graph(tf.get_default_graph(),"./","model.pbtxt")
'./model.pbtxt'
>>> print(e)
Tensor("add_1:0", shape=(2,), dtype=float32)
>>> print(f)
Tensor("add_2:0", shape=(2,), dtype=float32)

>>> sess.close()

视图网址:

https://lutzroeder.github.io/netron/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值