内容概括:

  • 学习 TensorFlow 编程模型的基础知识,重点了解以下概念:
  • 张量
  • 指令
  • 会话
  • 构建一个简单的 TensorFlow 程序,使用该程序绘制一个默认图并创建一个运行该图的会话

概念概览

TensorFlow 的名称源自张量,张量是任意维度的数组。借助 TensorFlow,您可以操控具有大量维度的张量。即便如此,在大多数情况下,您会使用以下一个或多个低维张量:

  • 标量是零维数组(零阶张量)。例如,'Howdy' 或 5
  • 矢量是一维数组(一阶张量)。例如,[2, 3, 5, 7, 11] 或 [5]
  • 矩阵是二维数组(二阶张量)。例如,[[3.1, 8.2, 5.9][4.3, -2.7, 6.5]]

TensorFlow 指令会创建、销毁和操控张量。典型 TensorFlow 程序中的大多数代码行都是指令。

TensorFlow (也称为计算图数据流图)是一种图数据结构。很多 TensorFlow 程序由单个图构成,但是 TensorFlow 程序可以选择创建多个图。图的节点是指令;图的边是张量。张量流经图,在每个节点由一个指令操控。一个指令的输出张量通常会变成后续指令的输入张量。TensorFlow 会实现延迟执行模型,意味着系统仅会根据相关节点的需求在需要时计算节点。

张量可以作为常量变量存储在图中。您可能已经猜到,常量存储的是值不会发生更改的张量,而变量存储的是值会发生更改的张量。不过,您可能没有猜到的是,常量和变量都只是图中的一种指令。常量是始终会返回同一张量值的指令。变量是会返回分配给它的任何张量的指令。

要定义常量,请使用 tf.constant 指令,并传入它的值。例如:

 x = tf.constant([5.2])

同样,您可以创建如下变量:

 y = tf.Variable([5])

或者,您也可以先创建变量,然后再如下所示地分配一个值(注意:您始终需要指定一个默认值):

 y = tf.Variable([0]) y = y.assign([5])

定义一些常量或变量后,您可以将它们与其他指令(如 tf.add)结合使用。在评估 tf.add 指令时,它会调用您的 tf.constant 或 tf.Variable 指令,以获取它们的值,然后返回一个包含这些值之和的新张量。

图必须在 TensorFlow 会话中运行,会话存储了它所运行的图的状态:

with tf.Session() as sess: initialization = tf.global_variables_initializer() print(y.eval())

在使用 tf.Variable 时,您必须在会话开始时调用 tf.global_variables_initializer,以明确初始化这些变量,如上所示。

注意:会话可以将图分发到多个机器上执行(假设程序在某个分布式计算框架上运行)。有关详情,请参阅分布式 TensorFlow。

总结

TensorFlow 编程本质上是一个两步流程:

  1. 将常量、变量和指令整合到一个图中。
  2. 在一个会话中评估这些常量、变量和指令。

创建一个简单的 TensorFlow 程序

我们来看看如何编写一个将两个常量相加的简单 TensorFlow 程序。

添加 import 语句

与几乎所有 Python 程序一样,您首先要添加一些 import 语句。 当然,运行 TensorFlow 程序所需的 import 语句组合取决于您的程序将要访问的功能。至少,您必须在所有 TensorFlow 程序中添加 import tensorflow 语句:

import tensorflow as tf

其他常见的 import 语句包括:

import matplotlib.pyplot as plt # 数据集可视化。import numpy as np # 低级数字 Python 库。import pandas as pd # 较高级别的数字 Python 库。

TensorFlow 提供了一个默认图。不过,我们建议您明确创建自己的 Graph,以便跟踪状态(例如,您可能希望在每个单元格中使用一个不同的 Graph)。

from __future__ import print_function​import tensorflow as tf​# Create a graph.g = tf.Graph()​# Establish the graph as the "default" graph.with g.as_default(): # Assemble a graph consisting of the following three operations: # * Two tf.constant operations to create the operands. # * One tf.add operation to add the two operands. x = tf.constant(8, name="x_const") y = tf.constant(5, name="y_const") sum = tf.add(x, y, name="x_y_sum")​​ # Now create a session. # The session will run the default graph. with tf.Session() as sess: print(sum.eval())

以上就是 tensorflow 必知必会的基础知识了,试着修改运行该项目,开始探索 tensorflow 吧。

tensorflow 按维度相加_人工智能 TensorFlow 必知必会编程概念整理相关推荐

  1. tensorflow 按维度相加_女司机按男司机喇叭,男司机要灭她全家_影视

    2020-11-08 17:02:015点赞15收藏4评论 第241篇推文, 给600位窝友. 「故事」 瑞秋最近烦得很,工作不顺利,瞒着儿子跟老公办离婚,废柴弟弟跟他的女朋友赖在自己家里吃喝拉撒-- ...

  2. tensorflow 按维度相加_终于亮大招,Pioneer DJ号称全新维度的CDJ-3000到底如何?_品牌头条_新闻...

    前不久,Pioneer DJ正式发布了新一代的旗舰DJ播放器CDJ-3000,打出A NEW DIMENSION(全新维度)的口号,在许多专业DJ圈子也收获了不少关注和好评. 实际上,自从上一代旗舰C ...

  3. tableau必知必会之如何在同一视图中进行相同分析维度图表的切换

    实际业务场景中,你可能会遇到类似的分析需求:多组织架构.多业务线的数据分析,希望能在同一个视图中,通过切换图表,可以快速查看不同层级数据的分析结果. 例如下图,我们将企业总部设置为"板块&q ...

  4. SpringBoot入门到精通_第6篇 _必知必会

    接上一篇:SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控 https://blog.csdn.net/weixin_40816738/article/detail ...

  5. SpringBoot入门到精通_第7篇 _必知必会总结

    接上一篇:SpringBoot入门到精通_第6篇 _必知必会

  6. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  7. 《SQL必知必会》第六课 用通配符进行过滤 使用LIKE操作符,%、[]、_通配符进行通配搜索

    第六课 用通配符进行过滤 使用LIKE操作符,%.[]._通配符进行通配搜索 #前面使用的所有操作符过滤中使用的值都是已知的 #利用通配符可以创建比较特定数据的搜索模式 #通配符:用来匹配值的一部分的 ...

  8. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  9. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

最新文章

  1. ST IKS01A1 驱动程序分析
  2. 笨方法学python3-笨办法学python3 pdf下载|
  3. 织梦二次开发写php,PHP教程—DedeCMS二次开发(二)
  4. Android Apk增量更新
  5. 这几本书在豆瓣 8 分以上,今天中秋节包邮送!
  6. octave进行积分运算
  7. django登录连接html,Django——登录功能(连接mysql)
  8. 断电后supervisor启动时报错
  9. echarts formatter鼠标悬停显示信息
  10. Selenium定位HTML元素(Python)
  11. span标签的取值与赋值
  12. bp神经网络matlab feedfollownet,BP神经网络模型:Matlab
  13. 通过路由器来设置局域网下无线打印机打印
  14. GCD Expectation ZOJ - 3868 (容斥)
  15. Win10电脑开机之后屏幕一直闪动解决方法
  16. OPPOX9007_官方线刷包_救砖包_解账户锁
  17. 基于ESP8266的太空人智能时钟
  18. Windows10系统时间同步没有效果的解决方法
  19. 10.MySQL文件
  20. expect command

热门文章

  1. 一篇文章把Self-Attention与Transformer讲明白
  2. CCF BDCI 技术需求与技术成果关联度冠军分享
  3. 云信技术系列课 | RTC 系统音频弱网对抗技术发展与实践
  4. 全国高校MINI开发挑战赛结果出炉,99年的他们为什么能赢?
  5. 聊聊网易技术如何帮教育行业开出花
  6. http协议的缺点和确保web安全的https协议
  7. c# Parallel.For 并行编程 执行顺序测试
  8. 如何发挥ERP系统中的财务监控职能?
  9. 「Android」 详细全面的基于vue2.0Weex接入过程(Android视角)
  10. 百度编辑器 UEditor setContent()