皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Propel: 由Node.js之父创建的JavaScript科学计算库

Propel是一个新推出的JavaScript科学计算库,它使用图形处理器来支持JavaScript中的机器学习和科学计算。

虽然机器学习默认使用Python开发,但是JavaScript的使用也越来越流行。Propel致力于缩短Python和JavaScript之间的计算差距。

Propel提供了一种类似NumPy系统的工具。Ryan Dahl是Propel和Node.js的创始人,据他所说,“JavaScript是一种快速的,动态的语言。因此我们认为它可以作为所有语言开发者理想的工具。”

从这一点来看,Dahl并不是孤军奋战。因为有很多其他项目,包括brain.js, ConvNetJS, deeplearn.js, math.js, mljs, Natural, Synaptic以及Webdnn, 它们都在尝试改善JavaScript中的科学计算和机器学习。

Propel能够在多个环境中运行,但是由于性能原因,如果需进行密集型计算,更推荐使用Node.js。

使用Propel需要依赖一些基础的技术。web版本的Propel需要调用到WebGL模型和deeplearn.js。Node.js版本的Propel需要调用TensorFlow的C语言API,并且支持多个图形处理器和TCP连接的定位。相比而言,web版本更多的用于演示或者直接计算。

关于机器学习方面,Propel鼓励开发者在服务器端创建机器学习模型,然后快速部署到浏览器就可以看到一个神经网络的示例。

Propel是用TypeScript编写的,同时推荐使用ts-node,因为它给TypeScript提供了运行环境,给Node.js提供了简单的交互环境。安装Propel非常简单,在Node.js中,执行以下命令行:

npm install propel

如果想要查看Node.js中的示例,执行以下命令行:

npm install -g ts-node
./tools/build.js
ts-node ./example.ts

在浏览器中加入以下优化的JavaScript包:

<script src="https://unpkg.com/propel@3.1.0"></script>

如果想要在Node.js或者web项目的源码中加入Propel库,使用ES语法从Propel中导入相应的模块即可,例如:

import { grad, linspace, plot } from "propel";

作为一个新开发的库,Propel还不是很稳定。欢迎大家通过GitHub来帮助我们完善它。

查看英文原文Propel: Scientific Computing JavaScript Library from Node.js Founder

转自 http://www.infoq.com/cn/news/2018/03/propelml-js-machine-learning