TensorFLow中张量的命名规则

TensorFlow的计算都可以通过计算图的模型来建立,而计算图上的每一个节点代表了一个计算,计算的结果就保存在张量中,所以张量和计算图上节点所代表的计算结果是对应的,这样张量的命名就可以通过“node:src_output"的形式来给出,其中node为节点的名称,src_output表示当前张量来自节点的第几个输出。
详见示例:

import tensorflow as tf

g = tf.Graph()
with g.as_default():
    a = tf.Variable(initial_value=tf.ones(shape=[1,2], dtype=tf.float32),trainable=False,name='a')
    b = tf.constant([1.0, 2.0],name = 'b')
    result = tf.add(a, b, name = 'add')
    result1 = tf.add(a, b, name = 'add')
    result2 = tf.add(a, b, name = 'add')
    # 或者写为(二者是等价的)
    '''
    result = a + b
    result1 = a + b
    result2 = a + b
    '''
    with tf.Session(graph=g) as sess:
        sess.run(tf.global_variables_initializer())
        print(sess.run(result))  # [2. 3.]]
        print(result)            # Tensor("add:0", shape=(1, 2), dtype=float32)
        print(result1)           # Tensor("add_1:0", shape=(1, 2), dtype=float32)
        print(result2)           # Tensor("add_2:0", shape=(1, 2), dtype=float32)


f = tf.Graph()
with f.as_default():
    a = tf.Variable(initial_value=tf.ones(shape=[1,2], dtype=tf.float32),trainable=False,name='a')
    b = tf.constant([1.0, 2.0],name = 'b')
    result = tf.add(a, b, name = 'add')
    result1 = tf.add(a, b, name = 'add1')
    result2 = tf.add(a, b, name = 'add2')

    with tf.Session(graph=f) as sess:
        sess.run(tf.global_variables_initializer())
        print(sess.run(result))  # [2. 3.]]
        print(result)            # Tensor("add:0", shape=(1, 2), dtype=float32)
        print(result1)           # Tensor("add1:0", shape=(1, 2), dtype=float32)
        print(result2)           # Tensor("add2:0", shape=(1, 2), dtype=float32)
Reference
  1. 郑泽宇等.TensorFLow实战Google深度学习框架(第2版),电子工业出版社,2018.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值