該存儲庫為印度Microsoft Research開發的Edge設備提供了機器學習算法的代碼。
邊緣設備的機器學習模型在存儲,預測延遲和能源方面需要具有較小的佔地面積。此類模型的一個實例是物聯網(IoT)設置中的資源篩選設備和傳感器。在IoT設備上本地進行實時預測而不連接到雲的情況需要適合幾千字節的型號。
以模型大小和計算的方式在這種情況下發光的算法,即:
這些算法可以訓練模型,以了解與其他現代ML算法低的記憶要求的經典監督學習問題。訓練有素的型號可以加載到物聯網設備/傳感器等邊緣設備上,並用於使快速準確的預測完全離線。
一種適用於以上算法訓練的模型的工具,可通過固定點算術推斷。
展示這些算法用途的應用程序:
tf目錄包含edgeml_tf軟件包,該軟件包在Tensorflow中指定這些架構, examples/tf包含這些算法的示例訓練例程。pytorch目錄包含edgeml_pytorch軟件包,該軟件包在Pytorch中指定了這些架構, examples/pytorch包含這些算法的樣本訓練例程。cpp目錄具有C ++中Bonsai和ProtoNN算法的培訓和推理代碼。applications目錄具有EDGEML算法應用程序的代碼/演示。tools/SeeDot目錄具有生成定點推理代碼的量化工具。c_reference目錄包含C中各種算法的推理代碼(浮點或量化)。請參閱這些目錄中的讀數頁面中的安裝/運行說明。
有關詳細信息,請參閱我們的項目頁面,Microsoft研究頁面,ICML '17關於盆景和Protonn算法的出版物,關於EMI-RNN和FastGrnn的Neurips '18 PLDI '19 Seedot Compiler上的PLDI '19出版物,《 uist '19》,《 uist '19的《 uist '19》,《 uists'on Buildersy on buildsys'buildersys'buildsys'on buildsys '19》。 RNNS,ICML '20 DROCC的出版物以及RNNPOOL的Neurips '20出版物。
還要查看ELL項目,該項目可以為該庫訓練的某些ONX模型提供優化的二進製文件。
算法,應用程序和工具的代碼:
該項目的貢獻者。歡迎新貢獻者。
請給我們發送您的評論,批評和問題。
如果您在工作中使用此庫中的軟件,請使用下面的Bibtex條目進行引用。
@misc{edgeml04,
author = {{Dennis, Don Kurian and Gaurkar, Yash and Gopinath, Sridhar and Goyal, Sachin
and Gupta, Chirag and Jain, Moksh and Jaiswal, Shikhar and Kumar, Ashish and
Kusupati, Aditya and Lovett, Chris and Patil, Shishir G and Saha, Oindrila and
Simhadri, Harsha Vardhan}},
title = {{EdgeML: Machine Learning for resource-constrained edge devices}},
url = {https://github.com/Microsoft/EdgeML},
version = {0.4},
}
微軟開源行為代碼。有關更多信息,請參見《行為守則常見問題守則》或與其他問題或評論聯繫[email protected]。