首页 > 其他分享 >Tensorflow计算模型——计算图

Tensorflow计算模型——计算图

时间:2023-02-13 22:46:33浏览次数:37  
标签:get graph 模型 variable 计算 tensorflow tf Tensorflow

1.计算图的概念:

  计算图:输入和计算函数都以节点的形式出现,而节点的输出项之间的关系以有向线段表示所构成的计算图形。

如:向量a, b 相加:

 

2. 计算图的使用:

注意:Tensorflow程序一般分两步:定义计算图中所有计算;执行计算

在tensorflow代码执行的时候,tensorflow会自定定义一个默认的计算图,可以通过tf.get_default_graph函数来获取当前默认的计算图

import tensorflow as tf

'''tensorflow程序第一步:定义计算图中所有计算'''
a=tf.constant([1.0, 2.0], name="a")
b=tf.constant([2.0, 3.0], name="b")
result=a+b

'''判断a节点是不是在默认节点中'''
print(a.graph is tf.get_default_graph())
print(b.graph is tf.get_default_graph())

输出:
True
True

当然,可以使用tf.Graph函数来生成新的计算图。

注意:计算图其实是一种数据结构,则上面的数据和运算不会相互共享。

import tensorflow as tf

'''tensorflow第一步:定义所有计算'''

g1=tf.Graph()
with g1.as_default():
'''在计算图g1中定义变量“v",并初始化为0'''
v=tf.get_variable( "v", shape=[1,2],initializer=tf.zeros_initializer )

g2=tf.Graph()
with g2.as_default():
'''在计算图g2中定义变量“v",初始化为1'''
v=tf.get_variable( "v", shape=[2,3],initializer=tf.ones_initializer )

'''tensorflow第二步:运行计算'''

with tf.Session(graph=g1) as sess:
tf.initialize_all_variables().run() #初始化所有变量
with tf.variable_scope("", reuse=True):
print(sess.run(tf.get_variable("v"))) #获取变量v

with tf.Session(graph=g2) as sess:
tf.initialize_all_variables().run()
with tf.variable_scope("", reuse=True):
print(sess.run(tf.get_variable("v")))

输出:
[[0. 0.]]
[[1. 1. 1.]
[1. 1. 1.]]

计算图由节点和关系构成,那么计算图的资源如何给用户比较方便的调用呢?

在一个计算图中可以使用集合(collection)来管理整个资源。这里的资源具体指的是张量,变量,或者队列等。

tf.add_to_collection函数将资源加入一个或者多个collection

tf.get_collection函数,获取指定collection中的所有资源

    几个常用的集合

 

标签:get,graph,模型,variable,计算,tensorflow,tf,Tensorflow
From: https://www.cnblogs.com/ALINGMAOMAO/p/17118103.html

相关文章

  • Tensorflow运行模型——会话
    会话拥有并管理tensorflow程序运行时的所有资源。所有计算完成后需要关闭会话来帮组系统回收资源。使用会话模式有两种:但是,第一种方法有缺陷,所以直接给出下面这种with......
  • 8.1 计算机只能运行本地代码
     代码清单8-1。这是一个用C语言记述的Windows程序。该程序运行后,会把123和456的平均值289.5显示在消息框(图8-1)中。  类似于代码清单8-1这样,用某种编程语言的程序就......
  • pnn模型 待整理
    https://blog.csdn.net/qq_18293213/article/details/90262378?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ER......
  • 书籍推荐-《3D计算机视觉》
    原文地址:​​书籍下载-《3D计算机视觉》​​书籍:3DComputerVision:EfficientMethodsandApplications作者:ChristianWöhler出版:Springer这本书介绍了三维计算机视觉的基......
  • 基于昇腾计算语言AscendCL开发AI推理应用
    摘要:本文介绍了昇腾计算语言AscendCL的基本概念,并以示例代码的形式介绍了如何基于AscendCL开发AI推理应用,最后配以实际的操作演示说明如何编译运行应用。本文分享自华为云......
  • 1600 - 请假时间计算
         ......
  • 8.1计算机只能运行本地代码
       首先,看一下代码清单8-1。这是一个用C语言记述的Windows程序。该程序运行后,会把123和456的平均值289.5显示在消息框(图8-1)中。         类似于......
  • 虹科分享 | 流浪地球背后:运载火箭行业的高性能计算!
    当长征系列运载火箭直冲云霄时,你想到的是什么?是嫦娥奔月,是技术革新,是一望无际的星空,是伟大的航天员,还是流浪地球中用火箭推进太空天梯的科幻场景?我想到的是运载火......
  • 【转载】go.sum中特殊hash如何计算
    Golang为了依赖的安全考虑,在go.mod的基础上引入了go.sum,go.sum文件的作用主要是记录项目依赖的hash值,防止被人修改。在分析具体项目的go.sum文件后可以发现go.sum中不仅......
  • 【JVM】JVM各个内存模型存储内容详解
    1 前言JVM的内存模型,想必大概都清楚了,可以看之前的文章,有讲解。那么JVM每个内存模型里都存哪些内容呢,本文来追一下。2 内存模块存储内容运行时数据区大概分5部分,方......