上一篇我介绍了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中执行绘图,并将其包装在Python操作中。
领取专属 10元无门槛券
私享最新 技术干货