Tensorflow入门教程(八)——构建原型内核和高级可视化

2020-06-29 11:50:58 浏览数 (1)

上一篇我介绍了Tensorflow中常用的控制流程操作。这一篇我会说一说用Python来构建原型内核和常用可视化方法。

我们都知道Python效率是很低的,为了提高计算的效率,Tensorflow中的内核操作完全是用C 编写的。但是用C 编写Tensorflow内核是一件非常痛苦的事情。所以我们在花费数小时来实现内核之前,首先应该尽快进行Python的原型设计,虽然这效率不高,但是这会提高编写C 版本Tensorflow内核效率。

1、用Python构建原型内核

前面我说过如何使用tf.py_func(),它是可以将任何一段Python代码转换为Tensorflow操作。现在我们在Tensorflow中将一个简单的ReLU非线性内核实现为Python操作,代码实现如下。

当然上述实现的效率是非常低效的,只对原型有用。因为Python代码是不可以并行化,并且不能在GPU上运行。如果我们尝试新的想法,一旦用Python验证工作了,我们肯定会迫不及待地把它写成一个C 内核版本。

2、Tensorflow高级可视化

在实践中,我们通常使用Python ops在Tensorboard上进行可视化。例如我们在构建图像分类模型时,希望在训练期间可视化模型预测的情况。Tensorflow允许用tf.summary.image()函数可视化图像。

但是上述实现只能将输入图像可视化。为了可视化预测,必须找到一种方法向图像添加注释,而现有操作几乎不可能。最简单的方法是在Python中执行绘图,并将其包装在Python操作中。

0 人点赞