2.3.2深度学习
虽然scikit-learn已经足够强大了,但它不包含一种强大的模型--人工神经网络。人工神经网络是功能相当强大但原理又相当简单的模型,在易语言处理、图像识别等领域都有重要的作用。近年来逐渐引人注意的深度学习算法,本质上是一种神经网络,可见在Python中实现神经网络是非常必要的。常用的深度学习框架包括TensorFlow、Keras、PyTorch、PaddlePaddle和Caffe等。
1、TensorFlow
2015年11月10日,Google推出了全新的开源工具TensorFlow,它是基于Google 2011年开发的深度学习基础框架DistBelief构建而成的。TensorFlow主要用于深度神经网络,一经推出就获得了较大的成功,并迅速成为用户使用较多的深度学习框架。
Tensor意味着数据,Flow意味着流动、计算、映射,同时也体现了数据是有向地流动、计算和映射的。
TensorFlow是一个“神经网络”库,具有高度的灵活性,可以将用户使用Python绘制的计算图放到计算核心之中;具有可移植性,可以在CPU、GPU上运行;可以自动计算梯度导数,使用户不必纠结具体的求解细节,只须关注模型的定义与验证;通过在底层上对线程、队列、异步操作给予良好的支持,在多计算单元控制上将不同的计算任务分配到不同的单元之中,实现性能最优化;支持C++、Python、Java、Go、JavaScript等接口的衔接。