第1关
任务描述
本关任务:编写一个能计算队列中所有元素之和的小程序。
编程要求
根据提示,在右侧编辑器补全queueSum函数,计算并输出queue中所有元素之和。queue是一个tf.FIFOQueue。
注意:需要返回的是元素之和的值而不是张量。
提示:当queue为空时,直接返回0。
# -*- coding: utf-8 -*-
import tensorflow as tf
# 返回queue中所有张量之和
# queue是一个tensforflow.FIFOQueue
def queueSum(queue):
# 请在此添加代码 完成本关任务
# ********** Begin *********#
res = 0
if queue.size() == 0:
return 0
for i in range(queue.size().eval()):
res += queue.dequeue().eval()
return res
# ********** End **********#
第2关
任务描述
本关任务:编写一个能将队列中所有元素加上其本身的小程序。
编程要求
根据提示,在右侧编辑器补全addEach函数,将队列queue中的元素依次取出并加上其本身的值后再放入queue中。不需要返回。
# -*- coding: utf-8 -*-
import tensorflow as tf
# 依次取出queue中各个元素, 将其与其本身相加后放回queue中
# queue是一个tensforflow.FIFOQueue
# sess是一个tensorflow.Session(), 用来执行操作
def addEach(sess, queue):
# 请在此添加代码 完成本关任务
# ********** Begin *********#
for i in range(queue.size().eval()):
a = queue.dequeue().eval()
a += a
#直接放进去,没要求顺序
sess.run(queue.enqueue(tf.constant(a)))
#不需要返回
# ********** End **********#
第3关
1、以下关于TensorBoard的描述,那一项最完整?
- [ ] A、一个可以画TensorFlow程序的计算图的工具
- [ ] B、一个可以帮助开发者调试TensorFlow程序的工具
- [ ] C、一个画统计图的工具
- [✔] D、一个可以方便开发者理解、调试与优化TensorFlow程序的可视化工具
2、要怎么样才能启动TensorBoard?
- [✔] A、在TensorFlow程序中使用 tf.summary.FileWriter
将数据信息写入数据文件后,使用命令:tensorboard --logdir
logs,其中logs需要为数据文件所在的文件夹的路径。然后再在浏览器地址栏输入: localhost:6006
- [ ] B、在TensorFlow程序中使用 tf.summary.FileWriter 将数据信息写入数据文件
- [ ] C、使用命令:tensorboard --logdir logs
- [ ] D、在浏览器地址栏输入: localhost:6006
3、以下那个获取TensorFlow程序的计算图的方法最好?
A、根据想象力自己画
- [✔] B、在TensorFlow程序中使用tf.summary.FileWriter写入事件文件,之后打开tensorboard,进入网页,点击左方的Download
PNG按钮
C、在TensorFlow程序中使用tf.summary.FileWriter写入事件文件,之后打开tensorboard,进入网页,使用截图工具截图
D、查百度:怎么才能获取TensorFlow的计算图u
4、想使用TensorBoard画计算图时,图上的节点太多该怎么办?
A、肯定是因为自己代码写的不好,需要重新写
B、不只使用默认图,自定义新的图
- [✔] C、通过分析节点与边之间的逻辑关系,将同一个功能组的边和节点划入同一个作用域下
D、将所有边和节点,按5个一组分入作用域内
5、当你的同事表示你的计算图太乱时,你应该怎么做?
A、肯定是同事水平不够,不理他
- [✔] B、思考是否每一个边和节点的名称是否合适,功能近似的边和节点是否划入到同一个作用域内。然后修改边和节点的名称和作用域
C、认认真真给代码重新写注释
D、和他好好解释每个边和节点的作用
6、使用作用域该使用什么方法?
A、tf.namescope方法
- [✔] B、tf.name_scope方法
C、tf.NameScope方法
D、tf.nameScope方法
7、该怎么样给边和节点命名?
A、使用tf.name方法
- [✔] B、在创建时设置name参数
C、使用tf.setName方法
D、使用tf.reName方法
8、以下那个是合法的边和节点的名字?
A、A Add B
B、A+B
C、!A
- [✔] D、A_Add_B
9、出现以下那些情况,会导致TensorBoard使用失败?
- [✔] A、在TensorFlow代码中没有使用tf.summary.FileWriter写入事件文件
- [✔] B、在使用tensorboard命令时,没有设置正确的--logdir参数
- [✔] C、在浏览器输入地址时,输入的地址不正确
- [✔] D、没有运行TensorFlow代码
10、以下关于TensorBoard的描述,那些不正确?
- [✔] A、TensorBoard就只能画画计算图而已
- [✔] B、TensorBoard没什么用
- [✔] C、TensorBoard中的名字作用域不能嵌套
- [ ] D、TensorBoard可以画计算图与统计图