1.Tensorflow的基本概念:
1.Tensorflow的基本概念:
- 1.使用图(graphs)来表示计算任务
2.在被称之为会话(Session)的上下文(context)中执行图
3.使用tensor表示数据
4.通过变量(Variable)维护状态
5.使用feed和fetch可以为任意的操作赋值或者从其中获取数据
Tensorflow是一个编程系统,使用图(graphs)来表示任务,图(graphs)中的节点称之为op(operation),一个获得0个或多个Tensor,执行计算,产生0个或多个Tensor.Tensor看做是一个n维的数组或列表。图必须在会话(Session)里被启动。
图的基本框架
常量的使用
import tensorflow as tf a1 = tf.constant([[2, 3]]) # 定义一个常量
a2 = tf.constant([[3], [3]])
result = tf.matmul(a1, a2) # 将两个常量相乘
print(result) # result是一个tonsor,所有的graphs都必须在会话(session)中执行
# Tensor("MatMul:0", shape=(1, 1), dtype=int32)
sess = tf.Session() # 创建会话
result = sess.run(result)
print(result) # 返回计算的结果
sess.close() # 关闭会话
# [[15]]
"""
可以用python的with来自行关闭会话:
with tf.Session() as sess:
result = sess.run(result)
print(result)
"""
变量的使用
import tensorflow as tf # 定义一个变量
a1 = tf.Variable(0)
# 定义一个常量
a2 = tf.constant(2)
# 创建相减的op
sub = tf.subtract(a1, a2)
# 创建相加的op
add = tf.add(a1, a2)
"""
with tf.Session() as sess:
sess.run(sub)
这时候直接运行会报错,因为Variable(变量)没有初始化
"""
init = tf.global_variables_initializer() # 全局变量初始化 with tf.Session() as sess:
sess.run(init)
result = sess.run(sub)
print(result) # 0 - 2 = -2
result = sess.run(add)
print(result) # 0 + 2 = 2
Variable和Tensor之间的区别:
- Variable是可更改的,而Tensor是不可更改的。
- Variable用于存储网络中的权重矩阵等变量,而Tensor更多的是中间结果等。
- Variable是会显示分配内存空间的,需要初始化操作(assign一个tensor),由Session管理,可以进行存储、读取、更改等操作。相反地,诸如Const, Zeros等操作创造的Tensor,是记录在Graph中,所以没有单独的内存空间;而其他未知的由其他Tensor操作得来的Tensor则是只会在程序运行中间出现。
- Tensor可以使用的地方,几乎都可以使用Variable。
tensorflow的赋值操作
import tensorflow as tf # 定义一个变量
a1 = tf.Variable(0)
# 定义一个常量
a2 = tf.constant(2)
# 创建相减的op
sub = tf.subtract(a1, a2)
# 创建相加的op
add = tf.add(a1, a2) init = tf.global_variables_initializer() # 全局变量初始化 update = tf.assign(a1, add) # tensorflow里面的赋值要调用tf.assign方法 with tf.Session() as sess:
sess.run(init)
result = sess.run(sub)
print(result) # 0 - 2 = -2
result = sess.run(add)
print(result) # 0 + 2 = 2
for i in range(5):
result = sess.run(update)
print(result) # 2 4 6 8 10
1.Tensorflow的基本概念:的更多相关文章
- TensorFlow[1]:概念和简例
简介 TensorFlow是一个实现机器学习算法的接口,也是执行机器学习算法的框架.使用数据流式图规划计算流程,可以将计算映射到不同的硬件和操作系统平台. 主要概念 TensorFlow的计算可以表示 ...
- Tensorflow的基本概念与常用函数
Tensorflow一些常用基本概念与函数(一) 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf ...
- Tensorflow学习:(一)tensorflow框架基本概念
一.Tensorflow基本概念 1.使用图(graphs)来表示计算任务,用于搭建神经网络的计算过程,但其只搭建网络,不计算 2.在被称之为会话(Session)的上下文(context)中执行图 ...
- Tensorflow从入门到精通之——Tensorflow基本操作
前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法.同时也欢迎大家关注我们的网站和系列教程:http://ww ...
- 基于TensorFlow的深度学习系列教程 2——常量Constant
前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...
- [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)
TensorFlow Playground http://playground.tensorflow.org 帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具 TensorFlo ...
- 初见TensorFlow :知其所以然
2.1 TensorFlow的主要依赖包 TensorFlow依赖的两个最主要的工具包——Protocol Buffer和Bazel. 2.1.1 Protocol Buffer Protocol B ...
- causal snps | causal variants | tensorflow | 神经网络实战 | Data Simulation
先读几篇文章: Interpretation of Association Signals and Identification of Causal Variants from Genome-wide ...
- Tensorflow代码解析(一)
http://www.leiphone.com/news/201702/n0uj58iHaNpW9RJG.html?utm_source=tuicool&utm_medium=referral ...
随机推荐
- Win10系列:JavaScript综合实例1
上面几个小节讲解了使用HTML5和JavaScript语言开发Windows 应用商店应用时会用到的一些技术,本小节将前面介绍的知识融合在一起创建一个菜谱应用程序,帮助读者更进一步地理解和掌握这些知识 ...
- jsp下载excel文件
jsp下载excel文件的的实现方法很多,今天也遇到这个问题,乱敲了一阵,终于搞定了,记下来和朋友们分享吧. 假设需要下载excel文件的jsp页面名为:down.jsp 对应的后台action名为: ...
- SpringWeb项目常用注解简单介绍
注解分为两类: 一类是使用Bean,即是把已经在xml文件中配置好的Bean拿来用,完成属性.方法的组装:比如@Autowired , @Resource,可以通过byTYPE(@Autowired) ...
- 《Python》进程收尾线程初识
一.数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍,并且在原有的multiprocessing基础上增加了新的机 ...
- Linux如何从零开始搭建rsync+serync服务器(centOS6)
一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除 ...
- TLS反调试
0x01 TLS反调试简介 TLS(Thread Local Storage)原本的目的是解决多线程程序中变量同步的问题.线程本身有独立于其他线程的栈空间,因此线程中的局部变量不用考虑同步问题.多线程 ...
- system的消息队列实例
1\创建或打开消息队列函数原型:int msgget(key_t key, int msgflg)参数第一个参数为ftok方法创建的一个kety_t或者为一个整数值第二个参数为逻辑控制,IPC_CRE ...
- 2018-2019-2 20175224 实验三《敏捷开发与XP实验》实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:艾星言 学号:20175224 指导教师:娄嘉鹏 实验日期:2019年4月29日 实验时间:13:45 - 15:25 实验序号:24 ...
- ubuntu Cairo图形库 环境搭建
Cairo官网:http://cairographics.org/ 根据官网指示,我使用如下语句安装好cairo库 sudo apt-get install libcairo2-dev 从官网拷贝代码 ...
- 什么是wsgi,uwsgi,uWSGI
WSGI: web服务器网关接口,是一套协议.用于接收用户请求将请求进行初次封装,然后将请求交给web框架 实现wsgi协议的模块: 1,wsgiref,本质就是编写一个socket服务端,用于接收用 ...