sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen
曉查 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
m2cgen(Model 2 Code Generator)是一個輕量級代碼生成器,它可以將訓練好的機器學習模型轉換成無需依賴庫的本地代碼。目前支持轉化為Python、Java、C三種語言。
比如你用PyTorch訓練了一個機器學習模型,但是需要把它部署在一臺沒有安裝或者不兼容PyTorch的設備上,應該怎么辦?這時候m2cgen能幫你解決問題。
有人說,這不就是另一種形式的ONNX嘛?No!
ONNX能做的是將PyTorch訓練的模型轉換到Caffe2上,代碼只是換了一種依賴庫。而m2cgen生成的代碼不需要在本地安裝任何依賴庫!
無需依賴庫
那么給計算機安裝上依賴庫不就好了嗎,為何還要這么麻煩?
如果你在實際中遇到以下幾種情況:
- 生產環境沒有相應的語言,比如缺失Python runtime;
- 設備性能不夠強大,比如微控制器(MCU),無法安裝框架和依賴庫,而且數據需要在本地計算,不能傳回遠程服務器;
- 對預測速度有要求,需要直接調用參數值而不是依賴庫;
這時候m2cgen就能派上用場,只要設備能運行Python、C、Jave當中的任何一種語言,你就能直接部署訓練好的機器學習模型。
運行原理
理論上,訓練好的模型已經有了擬合參數的數值,運行起來也只需要矩陣乘法和一些激活函數。可是為了運行它們,卻要先安裝體積超過GB的框架和依賴庫。
m2cgen項目的實質,是以某種方式將模型的權重、偏置分解為一個額外的依賴或文件,在非常大的模型上實現“代碼”和“數據”之間的分離。
總的來說,替代方法就是使用底層的編程語言庫,來做一些矩陣數學運算。
目前m2cgen支持的模型種類包括:
使用方法
m2cgen的安裝非常方便,直接用pip:
$ pip install m2cgen在轉換Python代碼前,需要用import導入m2cgen:
from 然后在終端用m2cgen命令轉換代碼:
[--indent <indent>pickle_file是你要轉換的源代碼文件,必填選項—language后面填入你的目標語言,比如上面的Python代碼,你想轉換成Java,就輸入:
m2cgen <path_to_file> --language java然后它就變成了一串Java代碼:
public 傳送門:
開源地址:
BayesWitnesses/m2cgen?github.com與m2cgen類似的代碼轉換項目sklearn porter,能將訓練好的scikit-learn模型轉換成Java、C、JavaScript、Go、Ruby代碼:
nok/sklearn-porter?github.com— 完 —
量子位 · QbitAI
?'?' ? 追蹤AI技術和產品新動態
戳右上角「+關注」獲取最新資訊↗↗
如果喜歡,請分享or點贊吧~比心?
總結
以上是生活随笔為你收集整理的sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq个性签名带图
- 下一篇: mysql数据导入python_利用py