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)里被启动。

图的基本框架

常量的使用

  1. import tensorflow as tf
  2.  
  3. a1 = tf.constant([[2, 3]]) # 定义一个常量
  4. a2 = tf.constant([[3], [3]])
  5. result = tf.matmul(a1, a2) # 将两个常量相乘
  6. print(result) # result是一个tonsor,所有的graphs都必须在会话(session)中执行
  7. # Tensor("MatMul:0", shape=(1, 1), dtype=int32)
  8. sess = tf.Session() # 创建会话
  9. result = sess.run(result)
  10. print(result) # 返回计算的结果
  11. sess.close() # 关闭会话
  12. # [[15]]
  13. """
  14. 可以用python的with来自行关闭会话:
  15. with tf.Session() as sess:
  16. result = sess.run(result)
  17. print(result)
  18. """

变量的使用

  1. import tensorflow as tf
  2.  
  3. # 定义一个变量
  4. a1 = tf.Variable(0)
  5. # 定义一个常量
  6. a2 = tf.constant(2)
  7. # 创建相减的op
  8. sub = tf.subtract(a1, a2)
  9. # 创建相加的op
  10. add = tf.add(a1, a2)
  11. """
  12. with tf.Session() as sess:
  13. sess.run(sub)
  14. 这时候直接运行会报错,因为Variable(变量)没有初始化
  15. """
  16. init = tf.global_variables_initializer() # 全局变量初始化
  17.  
  18. with tf.Session() as sess:
  19. sess.run(init)
  20. result = sess.run(sub)
  21. print(result) # 0 - 2 = -2
  22. result = sess.run(add)
  23. print(result) # 0 + 2 = 2

Variable和Tensor之间的区别:

  • Variable是可更改的,而Tensor是不可更改的。
  • Variable用于存储网络中的权重矩阵等变量,而Tensor更多的是中间结果等。
  • Variable是会显示分配内存空间的,需要初始化操作(assign一个tensor),由Session管理,可以进行存储、读取、更改等操作。相反地,诸如Const, Zeros等操作创造的Tensor,是记录在Graph中,所以没有单独的内存空间;而其他未知的由其他Tensor操作得来的Tensor则是只会在程序运行中间出现。
  • Tensor可以使用的地方,几乎都可以使用Variable。

tensorflow的赋值操作

  1. import tensorflow as tf
  2.  
  3. # 定义一个变量
  4. a1 = tf.Variable(0)
  5. # 定义一个常量
  6. a2 = tf.constant(2)
  7. # 创建相减的op
  8. sub = tf.subtract(a1, a2)
  9. # 创建相加的op
  10. add = tf.add(a1, a2)
  11.  
  12. init = tf.global_variables_initializer() # 全局变量初始化
  13.  
  14. update = tf.assign(a1, add) # tensorflow里面的赋值要调用tf.assign方法
  15.  
  16. with tf.Session() as sess:
  17. sess.run(init)
  18. result = sess.run(sub)
  19. print(result) # 0 - 2 = -2
  20. result = sess.run(add)
  21. print(result) # 0 + 2 = 2
  22. for i in range(5):
  23. result = sess.run(update)
  24. 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. 蓝桥杯—ALGO-2 最小最大公倍数

    问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少. 输入格式输入一个正整数N. 输出格式输出一个整数,表示你找到的最小公倍数.样例输入9样例输出504数据规模与约定1 ...

  2. VS中常用快捷键

    常用的快捷键     这里仅列出一些个人觉得好用的快捷键: 调用智能提示:使用组合键“Ctrl+J” 注释/取消注释: 注释用组合键“Ctrl+K+C” 取消注释用组合键“Ctrl+K+U” 大小写转 ...

  3. Unity中Text中首行缩进两个字符和换行的代码

    1.首行缩进两个字符 txt.text=“\u3000\u3000” + str: 2.首行缩进两个字符 将输入法换成全角的,在Text属性面板中添加空格即可. 3.换行    “\n” 补充 Uni ...

  4. day31-python阶段性复习五

    打印目录下所有文件 os 模块 os.listdir(‘/home’) 列出目录下所有文件 os.path.isdir(‘/home’) 判断一个文件是不是一个目录 os.path.isfile(‘/ ...

  5. Docker容器使用jenkins部署web项目--总结(二)

    (1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat.   新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...

  6. mysql创建存储过程,定时任务,定时删除log

    -- 创建存储过程 清除30天前的日志create procedure deleteLog()BEGINdelete from contract_vlog where create_time<D ...

  7. webstorm安装流程

    第一步:双击安装目录 修改安装目录 尽量不要放在C盘 第二步: 把汉化包 直接复制文件到WebStorm安装目录中lib文件夹中即可,重新打开WebStorm就可以了

  8. mybatis-generator没有自动生成代码和Junit测试controller

    本来mybatis的generator想要自动生成增删改的,但是到后来语句就两个select,原因是数据中没有给字段加primary,就不会有删改增. 以及Controller的Junit测试 先导入 ...

  9. wait_activity

    wait_activity(self, activity, timeout, interval=1): android特有的 返回的True 或 False :Agrs: - activity - 需 ...

  10. day 36 关于io模型的问题 阻塞 和多路复用

    # from gevent import spawn,monkey;monkey.patch_all()# from socket import *# def server(ip,port):# se ...