TensorFlow使用Graph的基本操作的实现


Posted in Python onApril 22, 2020

1.创建图

在tensorflow中,一个程序默认是建立一个图的,除了系统自动建立图以外,我们还可以手动建立图,并做一些其他的操作。

下面我们使用tf.Graph函数建立图,使用tf.get_default_graph函数来获取图,使用reset_default_graph对图进行重置。

import tensorflow as tf
import numpy as np


c = tf.constant(1.5)
g = tf.Graph()

with g.as_default():

  c1 = tf.constant(2.0)
  print(c1.graph)
  print(g)
  print(c.graph)

g2 = tf.get_default_graph()
print(g2)

tf.reset_default_graph()
g3 = tf.get_default_graph()
print(g3)

上述的代码运行结果如下所示:

TensorFlow使用Graph的基本操作的实现

根据上述的运行结果,c是在刚开始的默认图中建立的,所以打印的结果就是13376A1FE10,和g2获取的默认图的值是一样的,然后使用tf.Graph建立了一个新的图,并添加了变量c1,最后又对图进行了重置,替代了原来的默认图。

在使用reset_default_graph()函数的时候,要保证当前图中资源都已经全部进行了释放,否则将会报错。

2.获取张量

我们可以在图中通过名字得到其对应的元素,比如获取图中的变量和OP等元素。

import tensorflow as tf
import numpy as np

g = tf.Graph()

with g.as_default():
  c1 = tf.constant(2.5, name='c1_constant')
  c2 = tf.Variable(1.5, dtype=tf.float32, name='c2_constant')
  add = tf.multiply(c1, c2, name='op_add')

  c_1 = g.get_tensor_by_name(name='c1_constant:0')
  c_2 = g.get_tensor_by_name(name='c2_constant:0')
  c_3 = g.get_tensor_by_name(name='op_add:0')


  print(c_1)
  print(c_2)
  print(c_3)

TensorFlow使用Graph的基本操作的实现

在进行测试时,我们为元素添加了变量名,在设置变量名的时候,设置好的名字会自动添加后面的:0字符。一般我们可以将名字打印出来,在将打印好的名字进行回填。

3.获取节点操作

获取节点操作OP的方法和获取张量的方法非常类似,使用get_operation_by_name.下面是运行实例:

import tensorflow as tf
import numpy as np

a = tf.constant([[1.0, 2.0]])
b = tf.constant([[1.0], [3.0]])

tensor_1 = tf.matmul(a, b, name='matmul_1')

with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  t1 = tf.get_default_graph().get_operation_by_name(name='matmul_1')
  t2 = tf.get_default_graph().get_tensor_by_name(name='matmul_1:0')
  print(t1)
  print('t1: ', sess.run(t1))
  print('t2: ', sess.run(t2))

在上述的代码中,定义了一个OP操作,命名为matmul_1,在运行时我们将op打印出来,在使用名字后面加上:0我们就能得到OP运算的结果的tensor,注意这两者的区别。

我们还可以通过get_opreations函数获取图中的所有信息。此外,我们还可以使用tf.Grapg.as_graph_element函数将传入的对象返回为张量或者op。该函数具有验证和转换功能。

到此这篇关于TensorFlow使用Graph的基本操作的实现的文章就介绍到这了,更多相关TensorFlow Graph操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python sys模块sys.path使用方法示例
Dec 04 Python
python 调用HBase的简单实例
Dec 18 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
Python随机读取文件实现实例
May 25 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
Python实现定时精度可调节的定时器
Apr 15 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
Python 隐藏输入密码时屏幕回显的实例
Feb 19 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
详解python中的index函数用法
Aug 06 Python
8种常用的Python工具
Aug 05 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
如何在django中运行scrapy框架
Apr 22 #Python
TensorFlow实现批量归一化操作的示例
Apr 22 #Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 #Python
python实现四人制扑克牌游戏
Apr 22 #Python
如何在django中实现分页功能
Apr 22 #Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 #Python
python实现扑克牌交互式界面发牌程序
Apr 22 #Python
You might like
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php去除HTML标签实例
2013/11/06 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
四个PHP非常实用的功能
2015/09/29 PHP
php上传大文件设置方法
2016/04/14 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
教你安装python Django(图文)
2013/11/04 Python
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
广州盈通面试题
2015/12/05 面试题
个人素质的自我评价分享
2013/12/16 职场文书
安全生产活动月方案
2014/03/09 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python