唯品会 深度学习在移动端的实践和自动化测试的应用
关注开发者技术前线 属于自己的平凡之路
本文是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 | 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云办公室"等多款千万级用户的手机应用开发和架构设计。
来自:版权归作者所有
推送:开发者技术前线