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使用htpasswd实现基本认证授权的例子
Jun 10 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
Python字符串的常见操作实例小结
Apr 08 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
Python3的socket使用方法详解
Feb 18 Python
Python-openCV开运算实例
Jul 05 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
如何在vscode中安装python库的方法步骤
Jan 06 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之数据库操作详解及乱码解决!
2007/01/02 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
环保专业大学生职业规划设计
2014/01/10 职场文书
高中校园广播稿
2014/01/11 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
欢送会主持词
2015/07/01 职场文书
教育教学读书笔记
2015/07/02 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
django中websocket的具体使用
2022/01/22 Python
Python数据结构之队列详解
2022/03/21 Python
Go语言grpc和protobuf
2022/04/13 Golang
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python