博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tensorflow框架学习(一)——四个基础元素graph、session、tensor、op
阅读量:4587 次
发布时间:2019-06-09

本文共 1371 字,大约阅读时间需要 4 分钟。

一、tensorflow基础元素

使用 TensorFlow, 你必须明白 TensorFlow:

  • 使用图 (graph) 来表示计算任务.
  • 在被称之为 会话 (Session) 的上下文 (context) 中执行图.
  • 使用 tensor 表示数据,tensor是张量,即多维数组。
  • 通过 变量 (Variable) 维护状态.
  • 使用 feed 和 fetch 可以为任意的操作op(arbitrary operation) 赋值或者从其中获取数据.

 

结构图如下:

  • 一个Session会话中可以有多个graph图,graph图一般使用框架自带的默认图即可。
  • 一个graph图中可以有多个操作op,op可以传入0或多个tensor传入,同时输出0或多个tensor,op需要在session中用session.run()方法执行。
  • tensor即多维数组,tensor可以是Variable变量、constant常亮、placeholeder占位符,这三个会在后续内容更新讲解。

graph、session、tensor是三个类,Session可以看做是一整个工作任务,Graph可以看成是工作任务中的其中一个工作流程图,而op是流程图中的的操作方法(也可以看成是函数),op要用Session.run()方法来执行,利用下面的结构图来讲解。

Session中有两个图Graph1与Graph2,这两个图是计算的流程图,流程如下:tensor、Variable输入第一个opration执行操作,第一个opration执行操作输出tensor,输出的tensor与另一个tensor输入到第二个opration,第二个opration执行操作,图结束。

 


示例代码:

import tensorflow as tf #根据Graph2,创建一个变量常量、两个常量,都是二维数组x=tf.Variable([[1,2,3],[4,5,6]])w=tf.constant([[1],[2],[3]])b=tf.constant([[1],[1]])#OP:初始化。若定义了变量,在执行图操作之前,要对变量进行初始化,下面函数初始化所有变量init=tf.global_variables_initializer()#OP:矩阵相乘MatMul=tf.matmul(x,w)#OP:矩阵相加opAdd=tf.add(MatMul,b)#OP:激活函数opReLU=tf.nn.relu(Add)#创建一个Session会话,graph参数没有指定图则会调用默认图sess=tf.Session()sess.run(init)  #执行初始化,所有的op都要在session.run()方法中执行print(sess.run(ReLU))  #执行图的最后一步即可运行整个图,程序会自动一层一层往前调用,得到最后结果sess.close() #会话关闭#用With创建会话,可以用需要closewith tf.Session() as sess:    sess.run(init)    print(sess.run(ReLU))

 


 

任何疑问请查阅:
 

 

转载于:https://www.cnblogs.com/dwithy/p/11249356.html

你可能感兴趣的文章
简单实现Tabbar的隐藏显示动画 By H罗
查看>>
电脑自动开机设置教程
查看>>
rpc接口mock平台
查看>>
传感器模块
查看>>
《奇思妙想》人物篇--图灵奖得主概览
查看>>
Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中
查看>>
2017.2.28 activiti实战--第七章--Spring容器集成应用实例(五)普通表单
查看>>
读书笔记第一章
查看>>
Android 操作SQLite基本用法
查看>>
iis7 发布mvc3 遇到的HTTP错误 403.14-Forbidden Web 服务器被配置为不列出此目录的内容...
查看>>
(vue.js)element ui 表单验证 this$refs[formName]validate里面的内容死活不执行
查看>>
启动多个appium服务(同时运行多台设备)
查看>>
Java大数相乘-hdu1063
查看>>
mysql-mmm 部署高可用集群
查看>>
solaris启动过程详解 分类: arm-linux-Ubuntu ...
查看>>
while循环和递归
查看>>
Linux下yum安装Redis
查看>>
.Net 下未捕获异常的处理
查看>>
[机器学习]-Adaboost提升算法从原理到实践
查看>>
AOP概念
查看>>