121、TensorFlow张量命名

# tf.Graph对象定义了一个命名空间对于它自身包含的tf.Operation对象
# TensorFlow自动选择一个独一无二的名字,对于数据流图中的每一个操作
# 但是给操作添加一个描述性的名字可以使你的程序更容易来阅读和调试
# TensorFlow api提供两种方式来重写一个操作的名字
# 1、每一个api函数创建了一个新的tf.Operation或者返回一个新的tf.Tensor接收一个可选的name参数
#     列如tf.constant(42.0,name="answer")创建了一个新的tf.Operation叫做answer
#     并且返回以叫做"answer:0"的tf.Tensor .如果默认的数据流图已经包含了叫做"answer"的操作
#     TensorFlow会在后面append,"_1","_2"来使它变得唯一
# 2、tf.name_scope函数使得在名字后面添加一个后缀变得可能
import tensorflow as tf
c_0 = tf.constant(0, name="c")  # operation named "c"
# already-used names will be "uniquified" 
c_1 = tf.constant(2, name="c")  # => operation named "c_1"
# Name scopes add a prefix to all operations created in the same context
with tf.name_scope("outer"):
    c_2 = tf.constant(2, name="c")  # =>operation nemed "outer/c"
    
    # 在层次化文件系统中,名称范围嵌套类似的路径
    with tf.name_scope("inner"):
        c_3 = tf.constant(3, name="c")
    
    # 已经存在的变量名字会返回到前一个变量名加上一个后缀
    c_4 = tf.constant(4, name="c")  # =>operation named "outer/c_1"
    
    # 已经使用的命名空间会被 "uniquified"
    with tf.name_scope("inner"):
        c_5 = tf.constant(5, name="c")  # =>operation named "outer/inner_1/c"

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(c_0)
    print(c_1)
    print(c_2)
    print(c_3)
    print(c_4)
    print(c_5)

下面是上面代码的输出结果:

2018-02-17 11:01:55.084300: I C:\tf_jenkins\workspace\rel-win\M\windows\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
Tensor("c:0", shape=(), dtype=int32)
Tensor("c_1:0", shape=(), dtype=int32)
Tensor("outer/c:0", shape=(), dtype=int32)
Tensor("outer/inner/c:0", shape=(), dtype=int32)
Tensor("outer/c_1:0", shape=(), dtype=int32)
Tensor("outer/inner_1/c:0", shape=(), dtype=int32)

 

转载于:https://www.cnblogs.com/weizhen/p/8451484.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值