生态大战——编程框架的使用和选择
在AI领域经常听到一个新技术名词叫作“编程框架”。这个编程框架和过去我们熟悉的“编程语言”“操作系统”是什么关系?简单讲,所谓编程框架就是一个程序库。这个库里有许多常用的函数或运算(例如矩阵乘法等)。这样的程序库可以大大节省编程人员的时间。这些编程框架的程序库大多都是“面向对象”的高级编程语言,例如C++(计算机程序设计语言)、Python(一种面向对象的解释型计算机程序设计语言)
等。高级编程语言易于编程但效率低,低级编程语言例如汇编语言编程复杂但效率高。用这些高级编程语言写的程序库可以在各种不同的操作系统上运行,例如Linux(一种开源操作系统)、Windows(微软电脑系统)、Mac OS(苹果电脑系统)等。
作为机器学习的一个早期现象,现在有许多种不同的编程框架在竞争。其中比较著名的有TensorFlow、theano、Caffe、MXNet、CNTK、torch等。这些不同的编程框架的本质类似,通常都由以下五部分组成。
本书评论