BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Dylan Schiemann 关注 4 他的粉丝 ,译者 奚甜甜 关注 1 他的粉丝 发布于 2018年3月16日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

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


感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT