几何类
jsgraphics | js转成html几何图形 |
---|---|
p5.js | |
Geometric.js | 用于几何计算 |
katex | 数学符号渲染库 |
开源计算几何库列表:
The Top 36 Computational Geometry Open Source Projects
awesomeopensource.com
2D散乱点 三角剖分
Delaunator guide
mapbox.github.io
多边形三角剖分
mapbox/earcut
github.com
多边形剪裁及布尔运算
w8r/martinez
github.com
Martinez Clipping
milevski.co
线段求交
https://anvaka.github.io/isect/?isAsync=false&p0=150&p1=4&generator=drunkgrid&algorithm=brute
anvaka.github.io
clipper多边形 布尔运算
支持多种语言,js、c++及c#等
我做配载时用到了这个开源库
Javascript Clipper
sourceforge.net
flatten-js 包含了常用图形的计算
点、线、面等形状
求交、是否包含、距离及布尔运算等
https://github.com/alexbol99/flatten-js
github.com
KONVA 开源 html5 Canvas 绘制库
可放大、缩小、旋转Relation - Documentation可放大、缩小、旋转
我做配载时用到了这个开源库
Relation - Documentation
alexbol99.github.io
https://konvajs.org/docs/index.html
konvajs.org
poly-decom多边形into convex pieces
schteppe/poly-decomp.js
github.com
Simplify多边形线段简化
https://mourner.github.io/simplify-js/
mourner.github.io
a high-performance JavaScript 2D/3D polyline simplification library
mourner.github.io
intersects 2D碰撞检测
https://github.com/davidfig/intersects
github.com
sat-js 2D碰撞检测库
https://github.com/jriecken/sat-js
github.com
jriecken/sat-js
https://github.com/jriecken/sat-js
github.com
detect-collisions for circles, polygons and points
Collision detection for circles, polygons, and points
sinova.github.io
https://github.com/Prozi/detect-collisions#readme
github.com
Collision Detection
https://github.com/jeffThompson/CollisionDetection
github.com
sketcher 2D
https://github.com/xibyte/jsketcher
github.com
xibyte/jsketcher
https://github.com/xibyte/jsketcher
github.com
机器学习类
来源
JavaScript开发人员倾向于寻找可用于机器学习模型训练的JavaScript框架。下面是一些机器学习算法,基于这些算法可以使用本文中列出的不同JavaScript框架来模型训练:
简单的线性回归
多变量线性回归
逻辑回归
朴素贝叶斯
k最近邻算法(KNN)
K-means
支持向量机(SVM)
随机森林
决策树
前馈神经网络
深度学习网络
在这篇文章中,你将学习针对机器学习的不同JavaScript框架。具体内容为:
1.DeepLearn.js
Deeplearn.js是Google发布的一个开源的机器学习JavaScript库,可用于不同的目的,例如在浏览器中训练神经网络,理解ML模型,用于教育目的等。你可以在推理模式中运行预先训练的模型。可以在Typescript(ES6
JavaScript)或ES5
JavaScript中编写代码。通过在HTML文件的head标签中包含以下代码并编写用于构建模型的JS程序,可以实现快速入门。
2.PropelJS
Propel,一个JavaScript库,为科学计算提供了GPU支持的类似numpy的基础架构。它可以用于NodeJS app和浏览器。以下是浏览器的设置代码:
以下代码可用于NodeJS app:
npm install propel
import { grad } from “propel”;
PropelJS 文档(Propel doc)。Propel的GitHub页面。
3.ML-JS
ML-JS提供了用于使用NodeJS和浏览器的机器学习工具。ML JS工具可以使用以下代码进行设置:
支持以下机器学习算法:
无监督学习
主成分分析(PCA)
K均值聚类
监督学习
简单线性回归
多变量线性回归
支持向量机(SVM)
朴素贝叶斯
K最近邻算法(KNN)
偏最小二乘算法(PLS)
决策树:CART
随机森林
逻辑回归
人工神经网络
前馈神经网络
4.ConvNetJS
ConvNetJS是一个JavaScript库,完全用于在浏览器中深度学习模型训练(神经网络)。这个库也可以用在NodeJS app中。
可以从ConvNetJS简化库中获取ConvNetJS的简化版本入门。ConvNetJS的发布页面。
下面是一些重要的页面:
用于ConvNetJS的NPM软件包
入门
文档
5.KerasJS
通过KerasJS,你可以在浏览器中运行Keras模型,并使用WebGL得到GPU支持。模型也可以在Node.js中运行,但只能在CPU模式下运行。Keras的GitHub页面。以下是可以在浏览器中运行的Keras模型列表:
MNIST的基本convnet
卷积变分自编码器,在MNIST上训练
MNIST上的辅助分类器生成式对抗网络(AC-GAN)
50层残差网络,在ImageNet上训练
Inception v3,在ImageNet上训练
DenseNet-121,在ImageNet上训练
SqueezeNet v1.1,在ImageNet上训练
IMDB情绪分类的双向LSTM
6.STDLIB
STDLib是一个JavaScript库,可用于构建高级统计模型和机器学习库。它也可以用于数据可视化和探索性数据分析的绘图和图形功能。
以下是与ML有关的库列表:
通过随机梯度下降进行线性回归(@ stdlib / ml / online-sgd-regression)
通过随机梯度下降进行二元分类(@ stdlib / ml / online-binary-classification)
自然语言处理(@ stdlib / nlp)
7.Limdu.js
Limdu.js是Node.js的机器学习框架。它支持以下一些内容:
二元分类
多标签分类
特征工程
SVM
可以使用以下命令来安装limdu.js:
npm install limdu
8.Brain.js
Brain.js是一套用于训练神经网络和朴素贝叶斯分类器的JavaScript库。以下代码可用于安装Brain.js:
npm install brain.js
也可以使用以下代码在浏览器中引入该库:
以下内容可用于安装朴素贝叶斯分类器:
npm install classifier
总结
在这篇文章中,我们了解了可用于在浏览器和Node.js app中机器学习模型训练的不同JavaScript库。有关机器学习的文章,建议查看机器学习档案。
这篇文章对你有帮助吗?或者你对文中有关机器学习的JavaScript框架有任何疑问或建议?欢迎在评论中留下你的看法并提出问题来共同探讨。
注:译文链接 http://www.codeceo.com/8-machine-learn-js-frameworks.html,英文原文 8 Machine Learning JavaScript Frameworks to Explore,译者 码农网 – 小峰。做一只IT干货的搬运工,喜欢就给个赞呗。