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 提取文件的小程序
Jul 29 Python
python生成器的使用方法
Nov 21 Python
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 Python
如何用Python合并lmdb文件
Jul 02 Python
Python发展史及网络爬虫
Jun 19 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
利用keras使用神经网络预测销量操作
Jul 07 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
简单了解PHP编程中数组的指针的使用
2015/11/30 PHP
jquery对表单操作2
2011/04/06 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
vuex存储token示例
2019/11/11 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
python 中xpath爬虫实例详解
2019/08/26 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
一套C++笔试题面试题
2012/06/06 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
超市理货员岗位职责
2014/07/04 职场文书
人大调研汇报材料
2014/08/14 职场文书
关于青春的演讲稿三分钟
2014/08/22 职场文书
员工2014年度工作总结
2014/12/09 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
给下属加薪申请报告
2015/05/15 职场文书
国庆阅兵观后感
2015/06/15 职场文书
会议主持词结束语
2015/07/03 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js