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的基本概念:的更多相关文章

  1. TensorFlow[1]:概念和简例

    简介 TensorFlow是一个实现机器学习算法的接口,也是执行机器学习算法的框架.使用数据流式图规划计算流程,可以将计算映射到不同的硬件和操作系统平台. 主要概念 TensorFlow的计算可以表示 ...

  2. Tensorflow的基本概念与常用函数

    Tensorflow一些常用基本概念与函数(一) 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf ...

  3. Tensorflow学习:(一)tensorflow框架基本概念

    一.Tensorflow基本概念 1.使用图(graphs)来表示计算任务,用于搭建神经网络的计算过程,但其只搭建网络,不计算 2.在被称之为会话(Session)的上下文(context)中执行图 ...

  4. Tensorflow从入门到精通之——Tensorflow基本操作

    前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法.同时也欢迎大家关注我们的网站和系列教程:http://ww ...

  5. 基于TensorFlow的深度学习系列教程 2——常量Constant

    前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...

  6. [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)

    TensorFlow Playground http://playground.tensorflow.org 帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具 TensorFlo ...

  7. 初见TensorFlow :知其所以然

    2.1 TensorFlow的主要依赖包 TensorFlow依赖的两个最主要的工具包——Protocol Buffer和Bazel. 2.1.1 Protocol Buffer Protocol B ...

  8. causal snps | causal variants | tensorflow | 神经网络实战 | Data Simulation

    先读几篇文章: Interpretation of Association Signals and Identification of Causal Variants from Genome-wide ...

  9. Tensorflow代码解析(一)

    http://www.leiphone.com/news/201702/n0uj58iHaNpW9RJG.html?utm_source=tuicool&utm_medium=referral ...

随机推荐

  1. 对大学生学习Linux系统的七项实用建议

    你现在的工作是你所渴望的理想工作吗?或者说这只是你整个职业生涯中的一段插曲?虽然我们每个人都不一定能够说出自己所想的是什么,但是我们心里其实跟明镜似的.相信许多人对于自己喜好的工作投入精力不会有问题, ...

  2. bzoj1692

    题解: 二分最近的不相同 然后hash判断是否相同 然后贪心 代码: #include<bits/stdc++.h> using namespace std; #define ull un ...

  3. PropertiesUtil 获取文件属性值

    有时候不要把一些属性值写死在代码中,而是写在配置在文件中,方便更改 PropertiesUtil工具类:读取key-value形式的配置文件,根据key获得value值  1.测试类 public c ...

  4. 主机访问虚拟机centos7的服务器

    一.虚拟机开启桥梁接 1.编辑-->虚拟网络编辑器 2.虚拟机-->设置 二.Centos的配置---关闭防火墙下的服务器接口 Centos7.0 默认使用firewall作为防火墙,这里 ...

  5. RabbitMQ 设置消息的TTL(过期时间)

    我们在RabbitMQ中发布消息时,在代码中有两种方法设置某个队列的消息过期时间: 1.针对队列来说,可以使用x-message-ttl参数设置当前队列中所有消息的过期时间,即当前队列中所有的消息过期 ...

  6. 一. Python基础(1)--语法

    一. Python基础(1)--语法 1. 应用程序 1.1 什么是计算机(Computer)? 组成 ①运算器 arithmetic unit; ※ Arithmetic unit and cont ...

  7. (C/C++学习笔记) 二十四. 知识补充

    二十四. 知识补充 ● 子类调用父类构造函数 ※ 为什么子类要调用父类的构造函数? 因为子类继承父类,会继承到父类中的数据,所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程. ...

  8. Invalid MEX-file: caffe.mexa64 的解决方案

    http://blog.csdn.net/iamzhangzhuping/article/details/53105708

  9. springmvc跳转到自定义404页面的三种方法

    有时候我们并不想跳转到系统自定义的错误页面中,那么我们需要自定义页面并且实现它的跳转 有三种方法可以实现 方法一:最简单的实现,也是最快的 在<web-app>节点下配置 代码如下: &l ...

  10. Hibernate项目的创建

    首先,我们需要知道,Hibernate是一个不需要建立在容器的基础上的一个框架,所以在java项目中同样可以运行. 为了证明,我们在这次程序的创建中,用JavaProject文件来实现Hibernat ...