1.7 TensorFlow的优势
1.易用性
相对而言,TensorFlow工作流易于理解。它的API保持着高度的一致性,这意味着在尝试不同模型时,无需从头学习一套新的东西。
TensorFlow API很稳定,维护者始终在努力确保每次改动都向下兼容。
TensorFlow与NumPy无缝集成,可使大多数了解Python的数据科学家如鱼得水。
不同于其他库,TensorFlow不占编译时间。这就使用户可快速验证自己的想法,而省去了专门的等待时间。
目前已有多种高层接口构建在TensorFlow之上,如Keras和SkFlow。这就使得即便用户不希望动手实现整个模型,也可以利用TensorFlow的优势。
2.灵活性
TensorFlow能够运行在不同类型和尺寸的机器之上。这使得TensorFlow无论是在超级计算机上,还是在嵌入式系统,或任何其他介于两者之间的计算机上都有用武之地。
TensorFlow的分布式架构使得在大规模数据集上的模型训练可在合理的时间内完成。
TensorFlow可利用CPU、GPU,或同时使用这两者。
3.高效性
当TensorFlow的第一个版本发布时,它在很多流行的机器学习基准测试中都非常低效。从那时起,TensorFlow的开发团队便投入大量的时间和精力对TensorFlow代码的大部分实现进行改进。如今,TensorFlow中大部分库的性能已有了显著提升,已成为众多开源机器学习框架中居于榜首位置的有力竞争者。
TensorFlow的效率仍在持续地得到改进,因为有越来越多的开发者正在共同努力带来更好的实现。
4.幕后支持
TensorFlow为谷歌所支持。谷歌已为其投入巨大的资源,因为它希望TensorFlow成为机器学习研究者和开发者的通用语言。此外,谷歌也在利用TensorFlow完成其日常工作,并且通过投资来为TensorFlow提供持续不断的支持。
围绕TensorFlow已经形成了一个不可思议的社区,从社区中的知名成员或GitHub上的知名开发者那里得到回应相对比较容易。
谷歌已经发布了若干用TensorFlow预训练的机器学习模型。它们可供免费使用,使得无需大量数据的流水线便可迅速实现原型系统。
5.额外特性
当需要对模型进行调试和可视化时,TensorBoard便体现出极为重要的价值,而在其他机器学习库中,并无类似的功能。
TensorFlow
Serving可能是会使得更多的初创公司将服务和资源投入到机器学习领域的软件,因为重新实现代码来部署某个模型所需付出的代价绝对不可小觑。