當前位置:
首頁 > 科技 > 神經網路模型的可執行軟體包,可以壓縮到多小?

神經網路模型的可執行軟體包,可以壓縮到多小?

原作 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

加入社群

量子位AI社群17群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot7入群;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進群請加小助手微信號qbitbot7,並務必備註相應群的關鍵詞~通過審核後我們將邀請進群。(專業群審核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

英偉達發布全球最大GPU:性能提升10倍,售價250萬
碳雲智能聯合創始人李英睿:人工智慧在生命科學中的應用

TAG:量子位 |