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/m2cgengithub.com
与m2cgen类似的代码转换项目sklearn porter,能将训练好的scikit-learn模型转换成Java、C、JavaScript、Go、Ruby代码:
nok/sklearn-portergithub.com
— 完 —
量子位 · QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
戳右上角「+关注」获取最新资讯↗↗
如果喜欢,请分享or点赞吧~比心❤
sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen相关推荐
- tensorflow 2.10.0安装所需依赖库版本确定方法
tensorflow 2.10.0安装所需依赖库版本确定方法 1 依赖版本组合 2 系统环境 3 依赖版本确定方法 3.1推理法 3.1.1 TensorFlow依赖范围 3.1.2 显卡驱动支持范围 ...
- caffe安装 cuda安装 opencv安装 cudnn安装 python相关依赖库安装
1安装cuda8.0 安装依赖库 #sudo apt-get install g++ #sudo apt-get install git #sudo apt-get install freeglut3 ...
- live555库安装_基于live555的rtsp播放器:开发环境配置
一.MacOS Mojave 10.14 64位系统开发环境配置 1.安装brew brew是Mac下的一个包管理工具,作用类似于centos下的 yum.ubuntu下的apt-get brew可以 ...
- python json库安装_【Python基础】安装python第三方库
pip命令行安装(推荐) 打开cmd命令行 安装需要的第三方库如:pip install numpy 在安装python的相关模块和库时,我们一般使用"pip install 模块名&quo ...
- Qt发布安装程序(打包依赖库+生成安装程序)
目录 打包Qt依赖库 打包其它依赖库 生成安装程序 下载并安装Inno Setup 5 使用Inno Setup 5 Qt编译好的项目是不能直接被双击运行的,如下所示. 缺少了依赖的库,需要添加进去. ...
- 2022-3-15 安装fcl的依赖库ccd,动态链接库和静态链接库
GitHub libccd 库 默认是静态链接库,cmake安装其为动态 To build libccd as a shared library, set the BUILD_SHARED_LIBS ...
- python安装random库_python 库安装方法及常用库
python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然 ...
- python第三方库安装-python的第三方库安装
什么是第三方库 别人写好的一些功能代码,我们可以拿过来直接用 第三方库安装方法 1.pip在线安装(100%推荐) 默认源:pip install 包名 国内源:pip install 包名 -i h ...
- python第三方库安装方法-Python第三方库安装
Python有一个全球社区:https://pypi.org/,在这里我们可以搜索任何主题的Python第三方库.PyPI全称是Python Package Index,指的是Python包的索引,它 ...
最新文章
- 微信开源「派大星」:4000元游戏电脑能带动7亿参数GPT!
- Android深入理解Context(三)Context完全解析
- 简介struct cmsghdr结构
- python3 beautifulsoup 表格_[Python3爬虫]Beautiful Soup解析库
- 爬虫 | urllib入门+糗事百科实战
- 应用程序框架实战三十六:CRUD实战演练介绍
- Allegro 光绘文件快速导入
- idea conf文件_JavaWe商品项目保姆级解析IDEA版(配置篇)
- pipline中替换tag变量
- [NOI Online 2022 提高组] 丹钓战(单调栈 + 树状数组 / 主席树)
- 第十八期:闲鱼上哪些商品抢手?Python分析后告诉你
- python和revit_pyRevit系列教程1
- linux系统备份和恢复
- Workbench has not been created yet
- c语言中休眠的作用,使用C语言让Windows睡眠/休眠
- 51 nod 1405 树的距离之和
- tomcat-maven-plugin 2.0版本发布
- python界面制作和unity的有区别吗_由1~4人利用Sratch、Python、Unity或其它游戏开发工具设计与制作一个的教育类游戏。...
- 图片验证,滑块验证解决
- PLC梯形图编程入门