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使用xlrd模块操作Excel数据导入的方法
May 26 Python
python 全文检索引擎详解
Apr 25 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
python为QT程序添加图标的方法详解
Mar 09 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
python如何导入依赖包
Jul 13 Python
PyQt5的相对布局管理的实现
Aug 07 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
php实现webservice实例
2014/11/06 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
javascript复制对象使用说明
2011/06/28 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
vue elementUI使用tabs与导航栏联动
2019/06/21 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
Python对象与引用的介绍
2019/01/24 Python
大学生新闻专业个人自我评价
2013/11/12 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
学校十一活动方案
2014/02/01 职场文书
毕业评语大全
2014/05/04 职场文书
学生鉴定评语大全
2014/05/05 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
团组织推优材料
2014/12/29 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
活动主持人开场白
2015/05/28 职场文书
《春酒》教学反思
2016/02/22 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android
代码复现python目标检测yolo3详解预测
2022/05/06 Python