1、TensorFlow简介
官方解释:“TensorFlow是一个开源软件库,主要用于各种感知和语言理解任务的机器学习。”
简单来说TensorFlow 是一个用于机器学习的开源框架,可以用来快速地构建神经网络,同时快捷地进行网络的训练、评估与保存。
2、TensorFlow的主要任务
TensorFlow 主要任务是负责机器学习的每一个步骤。具体如下:
- 模型的构建
- 模型的训练
- 模型的保存与加载
- 模型的评估
- 使用加速器提升性能
- 在生产环境中部署网络
- 对模型的数据进行可视化(TensorBoard)
3、 TensorFlow的特点
- 可移植、跨平台性强:相同的代码和模型可以同时在服务器、PC、移动设备上运行,TensorFlow 还可以选择在 CPU 或者在 GPU 上面运行。
- 良好的社区生态:TensorFlow 的官方文档几乎为所有的函数与所有的参数都进行了详细的阐述。并且很大一部分的官方教程支持中文,对于国内学习成本较低。
- 内置算法非常完善:在 TensorFLow 之中内嵌了我们在机器学习中能用到的绝大部分的算法。
- 适用工业生产:TensorFlow 内置的 Service、分布式等结构能够帮助个人和企业很方便完成模型的训练与部署。
- 编程扩展性好:支持市面上大多数编程语言比如:Python、C、R、Go等。
4、TensorFLow的缺点
- TensorFlow程序的调试比较麻烦,不能深入其内部进行调试
- TensorFlow中的许多高阶 API 导致我们修改我们自己的模型有一定难度
- TensorFlow1.x 版本与 TensorFlow2.x 的差别较大,代码版本迁移比较麻烦
5、TensorFlow的用途
TensorFLow主要用于机器学习和深度神经网络方面的研究,可以用来快速开发一些机器学习算法,特别是深度学习算法。
6、实际案例
下面给大家介绍几个经典的案例
6.1 自动驾驶
在自动驾驶方面,利用TensorFlow可以不断改进自动驾驶系统当中的深度模型,包括对路况场景的分割、雷达信号的处理等等。未来自动驾驶前景非常大。
6.2 安卓手机自拍功能
安卓手机增加的自拍功能,这个自拍功能就是通过应用深度学习训练出来的视觉模型,可以非常准确地分离前景像素和后景像素,对前景像素和后景像素分别处理,这样就可以实现背景虚化。传统上手机厂商需要增加第二个摄像头,这就会大大增加手机的制造成本。
6.3 智能音箱
深度学习算法把语音识别和语音生成的技术门槛大大地降低了,可以快速开发出适合特定应用场景的语音应用。
6.4智能医疗
使用TensorFlow可以很方便地重用现在已有的图像识别模型或者是自然语言处理的模型,针对特定的应用领域和数据,重新训练调整一下学习模型,就可以在检测视网膜病变任务上面获得超过几乎达到95%的准确率,并已经超过了普通眼科专家91%的水平。