查看原文
其他

唯品会 深度学习在移动端的实践和自动化测试的应用

张凯通 开发者技术前线 2019-05-24

关注开发者技术前线 属于自己的平凡之路


本文是5月21日在携程技术沙龙 张凯通演讲的《深度学习在移动端的实践和自动化测试》PPT整理而来。


我们在做的事


境外美妆


本次演讲内容:



人脸检测

传统的人脸检测


基于深度学习的人脸检测


识别效率高

当网络的构造设计完成之后,深度神经的网络能够自发去分类、提取需要使用的特征,这就大大节省了人工获取特点以及设计分类装置的不必要程序。深度神经网络的学习方式使得识别器不会进入到常见的多层次网络,避免局部选择。并且深度神经网络在训练时不需要监督,同时也不需要标签,节省了标本取样的时间。在表达复杂函数时,深度神经网络由于不需要过多的神经元,因此,识别效率得到了极大提升。


识别效果好

深度模型通过逐层抽象的方式获得人脸的高层特征,具备更强的表达能力,能够充分发挥大数据的优势,准确率比传统方式有着质的飞跃。当调整神经网络权值时,权值就会自动接近最优点,最终获取一个完美的数据。




Tensorflow

Why Tensorflow?


可用性



灵活性



效率



  • 功能强大的可视化组件TensorBoard

  • 相比其他的深度学习框架,文档最全,资源最多

  • 部署容易

  • 性能、SDK大小、模型大小都满足移动端App的需求



Tensorflow

Caffe

Keras

CNTK

mxnet

Github star

96k

23k

28k

14k

13k

Github fork

61k

14k

10k

3k

5k

Owner

Google

BVLC

fchollet

Microsoft

DMLC

Language

Python/C++/...

C++/Python

Python

C++

Python/C++/...

iOS Support

YES

YES

YES

NO

YES

Android Support

YES

YES

YES

NO

YES

Update

Very High

Very High

High

High

Middle


移动端部署


  • Tensorflow 的部署

  • 从Tensorflow到Tensorflow lite

  • 可替换组件化的部署

  • 模型/SDK大小的优化

性能优化


人脸检测



AR绘制


系统占用


总体时间消耗


测试

功能测试

普通常规功能测试,不再介绍


性能测试

数据对比如下




自动化测试

为什么要做自动化测试?

  • 避免人工测试产生的错误

  • 记录每一次测试的原始数据,确保测试结果可以重现,以便追踪问题

  • 提供更多的原始数据进行分析为下一步优化提供更多参考

  • 效率提升


测试工具

Farseer




修改

Template Loader 动态参数更新


Macarons

自动化流程测试

性能参数分析


对比历史

异常测试结论提醒

张凯通 唯品会研究院资深开发工程师,

负责深度学习在移动端的应用,以及自动化测试等工作。曾参与"唯品会"、"学霸君"、"imo云办公室"等多款千万级用户的手机应用开发和架构设计。

来自:版权归作者所有

推送:开发者技术前线

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存