[TF杂记.01] 门外汉看TensorFlow

【前言】

众所周知,TensorFlow是由Google发起的开源项目,使用数据流图(data flow graphic)来进行数值计算的软件库, github 地址:github tf 传送门

《[TF杂记.01] 门外汉看TensorFlow》
《[TF杂记.01] 门外汉看TensorFlow》

在此之前,我也听到TF的大名,但听过一些关于tensor flow的讲座,提到很多机器学习、神经网络等知识点,我很快就望而怯步了。毕竟作为应用开发,深感底层技术的门槛和算法的复杂性。

时至今天,所在行业与TensorFlow密切相关,愈发预感到TF自身的魅力和所带来的趋势,很有必要去了解它。这种并非是硬着头皮,而是带着兴趣来的。纵观流行的框架,底层的复杂实现只能是小部分人的专利,但一到应用场景肯定是大众的福利, TF也应如此。之前打开的方式不对,让我们来重新打开它?

【历史】

2011, Google 发布第一代深度学习系统——DistBelief;

2016.4.13,Google 发布TensorFlow V0.8, 支持分布式,由于之前的版本已经支持CPU和GPU,因此,该版本已经具备应用于大数据计算的条件;

2016.4.29,DeepMind正式宣布,使用TensorFlow,顺势推了一把(此前,Alpha Go已经战胜韩国的李世石,名震一时);

2017.2.15,Google正式发布了TensorFlow V1.0,一套基于DistBelief研发了第二机器智能学习系统。(在此前已经陆续更新了多个测试版本);

TensorFlow与DistBelief版本的差别要从以下方面入手:

从出发点来看:

DistBelief 更像是Google自家内部使用的,场景比较特定;

TensorFlow 则是开放性的,它适配了N多主流的平台、兼容其它神经网络库(比如Keras,Keras 传送门)、性能更好,开发接入成本更低等等。

【应用场景】

TensorFlow支持CNN(卷积神经网络),RNN(循环神经网络),LSTM(长短期记忆网络),这些神经网络模型算法广泛应用于图像、语音、NLP领域。

我从官方的Android版体验Demo,,总共分为TF classify、TF detect、TF stylize、TF speech四部分,实测如下:

《[TF杂记.01] 门外汉看TensorFlow》
《[TF杂记.01] 门外汉看TensorFlow》 TF classify: 场景识别

《[TF杂记.01] 门外汉看TensorFlow》
《[TF杂记.01] 门外汉看TensorFlow》 TF detect: 物体跟踪
《[TF杂记.01] 门外汉看TensorFlow》
《[TF杂记.01] 门外汉看TensorFlow》 TF stylize: 艺术风格

《[TF杂记.01] 门外汉看TensorFlow》https://www.zhihu.com/video/910186364002271232

从实测来看,应该属于离线Demo,已经经过样本库训练,存在以下问题:

1)demo闪退

TF classify 处理一段时间,就挂掉,无法确定是crash还是程序本身逻辑;

2)准确率

图像识别,存在误识别的情况,但分数不高。根据之前的经验来看,也可理解;

语音识别,有一定概率识别不准,而且容易受环境干扰;

3)支持类别

仅支持一些常见的物体类别,一些特殊的物体类别,还无法识别;

4) 标签通用性

目前识别出来的标签都是英文的,非英语国家,还需要本地化适配。这里可能需要一张统一的对照表,使用统一的标签(比如数字之类),方便在不同语言的开发者接入;

但总体能力非常感人,可以使机器人学习的应用成本更低,后面更多的在于样本库(比如数据量大小,数据越大,识别的准确度更高,识别类别更广)

当然,除此之外,TensorFlow本质上是使用数据流图来计算,可扩展性的机器学习系统,可以应用到更多的领域里。

【支持平台】

Linux-CPU/GPU

Mac-CPU

Window-CPU/GPU

Android

    原文作者:Jianjian Xiao
    原文地址: https://zhuanlan.zhihu.com/p/30734851
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞