Chapter - 9 Exercise(1-11)

  1. 创建计算图而不是直接执行计算的主要好处是什么?主要缺点是什么?
  • 主要好处:
    TensorFlow可以自动计算梯度(使用逆模式自动编排)。
    TensorFlow可以在不同的线程中并行运行操作。

    它使在不同设备上运行相同模型变得更加容易。
    它简化了内省 - 例如,在TensorBoard中查看模型。

  • 主要缺点:
    它使学习曲线更加陡峭。
    它使逐步调试变得更加困难。

  1. 语句a_val = a.eval(session = sess)是否等同于a_val = sess.run(a)
    是的

  2. 语句a_val,b_val = a.eval(session = sess),b.eval(session = sess)是否等价于a_val,b_val = sess.run([a,b])
    不等价
    实际上,第一个语句运行图形两次(一次计算a,一次计算b),而第二个语句只运行图形一次。如果这些操作中的任何一个(或它们所依赖的操作)具有副作用(例如,变量被修改,项目被插入队列中,或者读取器读取文件),那么效果将是不同的。如果它们没有副作用,则两个语句将返回相同的结果,但第二个语句将比第一个语句更快。

  3. 你能在同一个会话中运行两个图吗?
    不可以,你不能在同一会话中运行两个图表。你必须首先将图形合并为单个图形。

  4. 如果创建包含变量w的图形 g,然后启动两个线程并在每个线程中打开一个会话,两个都使用相同的图g,每个会话都有自己的变量w副本还是会被共享?
    在本地TensorFlow中,会话管理变量值,因此如果你创建图g包含变量w,然后启动两个线程并在每个线程中打开一个本地会话线程,都使用相同的图 g,然后每个会话将有自己的副本变量w。
    但是,在分布式TensorFlow中,变量值存储在由集群管理的容器中,因此如果两个会话连接到同一个集群并使用相同的容器,则它们将共享w的相同变量值。

  5. 什么时候变量初始化?什么时候被destroy?
    调用其初始化程序时初始化变量,它会在会话结束时被destroy。
    在分布式TensorFlow中,变量存在于集群中的容器中,因此关闭会话不会破坏变量。 要销毁变量,你需要清除其容器。
    7.占位符和变量之间有什么区别?
    变量和占位符非常不同,但是初学者经常会混淆他们:

  • 变量是保存值的操作。如果运行变量,则返回该值。在运行它之前,你需要初始化它。你可以更改变量的值(例如,通过使用赋值操作)。它是有状态的:变量在连续运行图形时保持相同的值。它通常用于保存模型参数,但也用于其他目的(例如,对全局训练步数进行计数)。
  • 占位符在技术上做不了多少:它们只保存有关它们所代表的张量的类型和形状的信息,但它们没有任何价值。实际上,如果你尝试评估依赖于占位符的操作,则必须提供TensorFlow占位符的值(使用feed_dict参数),否则你将获得异常。占位符通常用于在执行阶段将训练或测试数据提供给TensorFlow。它们也可用于将值传递给赋值节点,以更改变量的值(例如,模型权重)。
  1. 运当你运行图表来评估依赖于占位符但不提供其值的操作时? 如果操作不依赖于占位符会发生什么?
    如果运行图形来评估依赖于占位符但不提供其值的操作,则会出现异常。如果操作不依赖于占位符,则不会引发异常。

  2. 运行图形时,是否可以提供任何操作的输出值,或者只是占位符的值?
    运行图形时,可以提供任何操作给输出值,而不仅仅是占位符的值。然而,在实践中,这是相当罕见的(它可能是有用的,例如,当你缓存冻结层的输出时;见第11章)。

  3. 如何将变量设置为你想要的任何值(在执行阶段)?

  • 你可以在构造图形时指定变量的初始值,稍后在执行阶段运行变量的初始化程序时将对其进行初始化。

  • 如果要在执行阶段将该变量的值更改为你想要的任何值,那么最简单的选项是创建一个赋值节点(在图形构建阶段)使用tf.assign()函数,传递变量和占位符作为参数。

  • 在执行阶段,你可以运行赋值操作并使用占位符提供变量的新值。

import tensorflow as tf
x = tf.Variable(tf.random_uniform(shape=(), minval=0.0, maxval=1.0))
x_new_val = tf.placeholder(shape=(), dtype=tf.float32)
x_assign = tf.assign(x, x_new_val)
with tf.Session():
x.initializer.run() # random number is sampled *now*
print(x.eval()) # 0.646157 (some random number)
x_assign.eval(feed_dict={x_new_val: 5.0})
print(x.eval()) # 5.0
  1. reverse-mode autodiff需要遍历图表多少次才能计算成本函数相对于10个变量的梯度?
    那么forward-mode autodiff呢? symbolic differentiation呢?
  • reverse-mode autodiff(由TensorFlow实现)需要仅遍历图形两次,以便计算关于任意数量的变量的成本函数的梯度。

  • forward-mode autodifff需要为每个变量运行一次(如果我们想要关于10个不同变量的梯度,则需要运行10次)。

  • symbolic differentiation会构建一个不同的图来计算梯度,因此它根本不会遍历原始图(除了构建新的渐变图时)。

高度优化的symbolic differentiation系统可能只运行一次新的梯度图来计算关于所有变量的梯度,但是与原始图相比,新图可能非常复杂且效率低。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容

  • 从书名可以看出,这是一本将人(尤指现代都市人)与圈养动物相比较的书,是一本社会科学的论说性书籍。作者德斯蒙德...
    一颗耀眼的菠萝阅读 1,043评论 1 1
  • 在《奇特的一生》中介绍了苏联昆虫学家(其实是一个巨大的斜杠外国人,科学家/生物学家/数学家/分类学家/发明家/教授...
    坤道率然阅读 389评论 1 1
  • 走进记忆的冰库 我又一次 尝试解冻故园的样貌 外面太阳正高 上锁的心窗透进几丝阳光 阵阵槐花飘香 尘封的心房挤进几...
    玉清澄阅读 539评论 2 16
  • 虽然说要考试,但是还是开始耍游戏!(因为这个考试不大重要) 这个游戏真心不错,一个优秀解谜游戏,竟然还有这么优秀的...
    一条明阅读 522评论 0 1