一、概述
1、Tensorflow
Tensorflow是广泛使用的实现机器学习以及其它涉及大量数学运算的算法库之一。Tensorflow Google开发,是GitHub上最受欢迎的机器学习库之一。Google几乎在所有应用程序中都使用Tensorflow来实现机器学习。借助 TensorFlow,初学者和有经验的人都可以轻松创建适用于桌面、移动、网络和云端环境的机器学习模型。
2、OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
二、Tensorflow
1、产生的历史原因
- 1980s:感知机与特征工程 计算力低,数据量小
- 1990s:神经网络在图像和语音领域发力
- MINIST:手写字体识别,机器学习界的Hello Word
- 2012-:算力和数据增长推动深度学习的繁荣发展
2、发展
- 第一代大规模分布式深度学习框架:Google DistBelief(2012年)
- paper:Large Scale DistBelief Deep Network
第二代大规模分布式深度学习框架(开源):Google TensorFlow(2015年)
其中AlphaGO Zero是纯强化学习,没有输入任何棋谱训练
- TPU比GPU在深度学习的训练方面更有优势
- GPU是为大量的浮点数运算而设计的一种硬件
- 可以任务TPU是专门为TensorFlow设计的硬件
- 现在衍生出专门的AI芯片
- 支持的额语言接口
4、环境搭建
(1)支持的硬件平台
- 支持最简单的中央处理器CPU(Central Processing Unit ),使得PC机、笔记本、服务器均可使TensorFlow;
- 高性能服务器、高性能桌面环境支持图形处理器GPU(Graphics Processing Unit),一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器;
- 张量处理单元即TPU(Tensor Processing Unit),一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,有更高效能(每瓦计算能力)
(2)安装TensorFlow
(3)在容器中使用
5、TensorFlow模块与基础架构
(1)TensorFlow模块与APIs