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中文编码问题小结
Sep 28 Python
python实现kNN算法
Dec 20 Python
Python+树莓派+YOLO打造一款人工智能照相机
Jan 02 Python
python基础教程项目四之新闻聚合
Apr 02 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
python求绝对值的三种方法小结
Dec 04 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
python和php学习哪个更有发展
Jun 17 Python
解决pip install psycopg2出错问题
Jul 09 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
PHP 程序员的调试技术小结
2009/11/15 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
Yii学习总结之安装配置
2015/02/22 PHP
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
js实现简单的秒表
2020/01/16 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
教大家使用Python SqlAlchemy
2016/02/12 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Django框架表单操作实例分析
2019/11/04 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
买卖协议书范本
2014/04/21 职场文书
学生保证书范文
2014/04/28 职场文书
经典演讲稿汇总
2014/05/19 职场文书
测控技术自荐信
2014/06/05 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
详解TypeScript的基础类型
2022/02/18 Javascript
python+opencv实现目标跟踪过程
2022/06/21 Python