前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >神经网络模型的可执行软件包,可以压缩到多小?

神经网络模型的可执行软件包,可以压缩到多小?

作者头像
量子位
发布2018-07-20 18:35:22
4700
发布2018-07-20 18:35:22
举报
文章被收录于专栏:量子位
原作 Nadav Rotem Root 编译自 GitHub 量子位 出品 | 公众号 QbitAI

据Reddit上围观用户说,用机器学习编译器及执行引擎Glow可以做到小几兆。

昨天,有一个Facebook研究人员Nadav Rotem在Reddit上放出了极简版的教程Compile neural networks into small executables,跟着这份教程,你也可以将神经网络编译出独立的可执行软件包。

也在苹果、英特尔工作过两三年的Nadav Rotem

这样,不仅能把编译时间最小化,还能方便Glow用户提前编译成软件包。

美滋滋。

编译前你要知道的事

软件包(Bundle)可以独立执行,是已经编译好的神经网络模型。下面以Makefile为例,向大家演示如何一步步把卷积神经网络编译成极小的可执行文件。举个栗子:

造个软件包

可以用Glow库创建软件包。

在CPU上,软件包是可以和某些可执行文件关联的目标文件。在其他架构体系上,软件包完全是另外一回事。

这份文档讲的主要是怎么用图像分类器工具,给主CPU创建软件包。

用-emit-bundle标签标出输出目录。

以上的指令按network_model_directory_name把神经网络模型编译好,然后生成一份软件包,其中包含两个文件,在output_directory_name目录里。

第一份文件以network_model_name.o命名,包含编译好的网络模型代码。这是个常规的目标文件,可导向项目的其他文件。

第二份文件是以network_model_name.weights命名,包含运行这份编译模型所需的权重。

最后,想一步步跟着压缩神经网络模型的胖友们,请前往: https://github.com/pytorch/glow/blob/master/docs/AOT.md

想进一步了解Glow架构设计思想的话,可参考原作和他同事们发在arXiv的文章: https://arxiv.org/pdf/1805.00907

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译前你要知道的事
  • 造个软件包
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档