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. Regex Password Validation

    You need to write regex that will validate a password to make sure it meets the follwing criteria: A ...

  2. learning hdmi edid protocol

    referenc: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

  3. 用highchaarts做股票分时图

    1.首先向社区致敬给予灵感参考: https://bbs.hcharts.cn/thread-1985-1-1.html(给予参考的的例子js配置代码未进行压缩,可以清楚看到配置信息)   2.公司是 ...

  4. vue组件通信方式总结

    对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的各种方式的总结,总共有8种方式. 1. props和$emit 父组件向子组件传递数据是通过prop传递的,子组件传递数据给 ...

  5. python介绍与入门

    一.python 的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为 ...

  6. PC/FORTH定点原理

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  7. 栈回溯简单实现(x86)

    0x01  栈简介  首先局部变量的分配释放是通过调整栈指针实现的,栈为函数调用和定义局部变量提供了一块简单易用的空间,定义在栈上的变量不必考虑内存申请和释放.只要调整栈指针就可以分配和释放内存.   ...

  8. Android开发---如何操作资源目录中的资源文件4 ---访问xml的配置资源文件的内容

    Android开发---如何操作资源目录中的资源文件4 XML,位于res/xml/,这些静态的XML文件用于保存程序的数据和结构. XmlPullParser可以用于解释xml文件 效果图: 描述: ...

  9. mybatis mapper配置文件 CustomerMapper.xml

    Dao @Repositorypublic interface CustomerDAO {    public void create(CustomerModel cm);    public voi ...

  10. aapt获取包名和activity,启动app

    1.android sdk的环境安装好了之后,在build-tools\** 的目录下找到aapt.exe,将这个路径设置环境变量,添加到path下 2.在cmdl里面输入:aapt,出现以下内容就是 ...