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解析html开发库pyquery使用方法
Feb 07 Python
Python 时间操作例子和时间格式化参数小结
Apr 24 Python
Python Web框架Flask中使用七牛云存储实例
Feb 08 Python
详解Python的单元测试
Apr 28 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
Python只用40行代码编写的计算器实例
May 10 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 Python
Idea安装python显示无SDK问题解决方案
Aug 12 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获取文件大小的方法
2014/02/26 PHP
微信支付开发发货通知实例
2016/07/12 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
JS打印组合功能
2016/08/04 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python正则表达式实例代码
2020/03/03 Python
python访问hdfs的操作
2020/06/06 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
python关于倒排列的知识点总结
2020/10/13 Python
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
小学英语教师先进事迹
2014/05/28 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
商务英语求职信范文
2015/03/19 职场文书
实习单位推荐信
2015/03/27 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
MySQL 计算连续登录天数
2022/05/11 MySQL