微控制器和嵌入式系统的机器学习

emlearn的Python项目详细描述


Travis CI Build StatusAppveyor Build status

emlearn

微控制器和嵌入式系统的机器学习。 使用python进行训练,然后使用c99编译器在任何设备上进行推理。

主要功能

嵌入式友好推理

  • 便携式C99代码
  • 无需libc
  • 无动态分配
  • 支持整数/定点数学
  • 单头文件包括

方便的培训

  • scikit-learnKeras一起使用python
  • 生成的c分类器也可以在python中访问

MIT licensed

可以作为Matlab分类树的开源替代品, 决策树使用Matlab编码器实现C/C++代码生成。 fitctreefitcensembleTreeBaggerClassificationEnsembleCompactTreeBagger

地位

最少有用

分类器:

  • eml_trees:sklearn.randomForestClassifier、sklearn.extratreeClassifier、sklearn.decisionTreeClassifier
  • eml_net:sklearn.MultiLayerPerceptron,Keras.Sequential与完全连接的层
  • eml_bayes:sklearn.gaussiannaivebayes

特征提取:

  • eml_audio:质谱图

测试运行在avr atmega、esp8266和linux上。

安装

从pypi安装

pip install --user emlearn

用法

  1. 用python训练模型
fromsklearn.ensembleimportRandomForestClassifierestimator=RandomForestClassifier(n_estimators=10,max_depth=10)estimator.fit(X_train,Y_train)...
  1. 将其转换为C代码
importemlearncmodel=emlearn.convert(estimator,method='inline')cmodel.save(file='sonar.h')
  1. 使用C代码
#include"sonar.h"constint32_tlength=60;int32_tvalues[length]={...};constint32_tpredicted_class=sonar_predict(values,length):

有关完整示例代码,请参见examples/digits.pyemlearn.ino

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何避免springbootstarterparent和dependency中的flyway包冲突   java文本文件写入不起作用   java获取名为DAO类的Bean创建异常   java类路径和清单文件   如何使用Java中的模式来获取像C中的“sscanf”这样的组?   java Spring自动连接具有构造函数的类   clientSecurity运行的java geode示例失败   java JavaFX:在FXML中从ResourceBundle访问非string对象   java登录到google firebase   java对象在通过构造函数后不会更改。为什么?   java(Android)对特定页面的操作webView   javascript如何在webview的js中从java调用变量   持久化—一种在Java中存储和检索对象而不使用关系数据库的简单方法?   java Ldap获取通讯组列表中的用户   java检查温度条件   java后退按钮警报框(Android Studio)   数组java列表问题:为什么我运行它时,它会在第三次打印时打印出4?   java相对路径与绝对路径