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 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
python如何拆分含有多种分隔符的字符串
Mar 20 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
python之yield和Generator深入解析
Sep 18 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
Python操作Excel把数据分给sheet
May 20 Python
Python如何在循环内使用list.remove()
Jun 01 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 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下一个非常全面获取图象信息的函数
2008/11/20 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
JS之相等操作符详解
2016/09/13 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
电话销售经理岗位职责
2013/12/07 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
实习报告评语
2014/04/26 职场文书
六查六看六改心得体会
2014/10/14 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python