【TensorFlow】计算图graph的使用学习笔记(二)

来源:互联网 发布:dnf端口辅助怎么稳定 编辑:程序博客网 时间:2024/05/22 05:01

1、计算图的使用

TensorFlow程序一般分为两段,一段是定义计算图的计算,第二阶段是执行计算。

import tensorflow as tfa = tf.constant([1.0,2.0],name = 'a')b = tf.constant([2.0,3.0],name = 'b')result = a+bprint(result)

在TensorFlow的程序中,系统会自动维护一个默认的计算图,通过tf.get_default_graph函数就可以获取当前默认的计算图。

#通过a.graph可以查看张量所属的计算图,因为没有指定,所以这个计算图应该等于当前默认的计算图print(a.graph is tf.get_default_graph()) #结果为True

除了使用默认图,还可以通过tf.Graph()函数来生成新的计算图。不同计算图上的张量不会共享。

#在计算图g1中定义变量V,并设置初始值为0.g1 = tf.Graph()with g1.as_default():    v = tf.get_variable('v',initializer = tf.zeros(shape=(1,)))print(g1 is tf.get_default_graph())#在计算图g2中定义变量V,并设置初始值为1g2 = tf.Graph()with g2.as_default():    v = tf.get_variable('v',initializer = tf.ones(shape=(1,)))print(g2 is tf.get_default_graph())#读取计算图g1中的变量vwith tf.Session(graph = g1) as sess:    tf.global_variables_initializer().run()    with tf.variable_scope('',reuse = True):        print(sess.run(tf.get_variable('v')))#读取计算图g2中的变量vwith tf.Session(graph = g2) as sess:    tf.global_variables_initializer().run()    with tf.variable_scope('',reuse = True):        print(sess.run(tf.get_variable('v')))       

2、张量

从功能上来说,张量可以简单的理解为多维数组。其中零阶张量表示为标量(scalar),一阶张量表示为向量(vector),也就是一维数组;但是张量在实现中,并不真正保存数字,而是保存的是如何得到这些数字的计算过程。

import tensorflow as tfa = tf.constant([1.0,2.0],name = 'a')b = tf.constant([2.0,3.0],name = 'b')result = a+bprint(result)'''输出:Tensor('add:0',shape=(2,),dtype = float32)'''

TensorFlow计算的结果并不是一个具体的数字,而是一个张量的结构。主要包含三个属性:name,shape,type。

阅读全文
0 0
原创粉丝点击