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 ...
随机推荐
- July_One_Week—linked list
#include <stdio.h> #include <stdlib.h> typedef struct linklist { unsigned int count; str ...
- windows上dubbo-admin的安装
dubbo-admin的安装 (1)先下载好zookeeper包,因为启动dubbo-admin时需要先启动zookeeper zookeeper:dubbo的注册中心(自己下载 ,找到bin目录下的 ...
- caffe中全卷积层和全连接层训练参数如何确定
今天来仔细讲一下卷基层和全连接层训练参数个数如何确定的问题.我们以Mnist为例,首先贴出网络配置文件: name: "LeNet" layer { name: "mni ...
- 读书笔记 C# Type类型与泛型有关的某些属性浅析
IsGenericType 如果类型为泛型,则返回 true. GetGenericArguments 返回 Type 对象数组,这些对象表示为构造类型提供的类型变量,或泛型类型定义的类型参数.如果是 ...
- leetcode python 004
## 已知l1,l2均为升序数组,## 在两数组l1,l2中寻找第n位数,## 两数组中位数中,前者大于后者,说明后者中位数以下的成员必定在真正中位数之下## 可以将其剔除,剔除a个元素后的两 ...
- 【Linux优化】Linux安装之后的优化
yum source configmv /etc/yum.repos.d/CentOS-Base.repo{,.bkp} wget -O /etc/yum.repos.d/CentOS-Base.re ...
- 文件上传FormData
<div class="modal-dialog"> <div class="modal-content"> <div class ...
- freemarker学习 (servlet + freemarker -> Struts2+freemarker -> springMVC+freemarker)
什么是freemarker? freemarker类似于jsp,但不是jsp!怎么说呢?freemarker文件后缀是.ftl,它不像jsp本质是servlet,它将构建模板.解析模板.使用模板分离开 ...
- 二分查找(lower_bound和upper_bound)
转载自:https://www.cnblogs.com/luoxn28/p/5767571.html 1 二分查找 二分查找是一个基础的算法,也是面试中常考的一个知识点.二分查找就是将查找的键和子数组 ...
- request的响应时间elapsed和超时timeout
前言:requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的 1.获取接口请求的响应时间 r.elapsed.total_seconds() import ...