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实现随机密码字典生成器示例
Apr 09 Python
Python中的Numpy入门教程
Apr 26 Python
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
python根据京东商品url获取产品价格
Aug 09 Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
Django 实现下载文件功能的示例
Mar 06 Python
如何用Python合并lmdb文件
Jul 02 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
django 简单实现登录验证给你
Nov 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中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
php实现微信企业转账功能
2018/10/02 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
jQuery each()小议
2010/03/18 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
python tkinter界面居中显示的方法
2018/10/11 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
Python os模块常用方法和属性总结
2020/02/20 Python
结束运行python的方法
2020/06/16 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
预备党员思想汇报
2014/01/08 职场文书
小组名称和口号
2014/06/09 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
党委工作总结2015
2015/04/27 职场文书
优质服务标语口号
2015/12/26 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
MySQL空间数据存储及函数
2021/09/25 MySQL