AICon议程上新60%,阿里国际、360智脑、科大讯飞、蔚来汽车分享大模型探索与实践 了解详情
写点什么

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

  • 2018-03-15
  • 本文字数:1003 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 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 )关注我们。

2018-03-15 03:0010869

评论

发布
暂无评论
发现更多内容

模块一作业

A先生

模块 2. 架构设计

Geek_ywh40v

心理韧性:如何让自己从逆境中走出来

石云升

学习 心理学 7月日更

微信朋友圈的高性能复杂度

张文龙

#架构实战营

架构实战营 - 模块二作业

李东旭

「架构实战营」

vivo S系列的爆款密码:自拍,自然,自出机杼

脑极体

福布斯解读区块链行业如何改变全球人才供给

CECBC

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

白嫖一份小白到进阶网络安全学习宝典【建议收藏】

网络安全学海

面试 网络安全 信息安全 渗透测试 开发安全

Data Mesh,数据网格的道与术

王知无

模块-1 微信业务架构图 和 备选方案

小遵

OLAP 扫盲

Galaxy数据平台

OLAP 高基数

智能运维(AIOps)系列之四:智能运维落地的思路

micklongen

AIOPS 智能运维

模块二作业

A先生

Fil矿机怎么购买?Fil矿机哪里买?

fil矿机怎么购买 fil矿机 ipfs矿机

两个月面试5家,(美团、360、新浪网、完美世界、搜狐)已拿美团18k*16薪offer

Java 编程 程序员 架构 面试

分享几个团队敏捷转型过程中的故事

Bruce Talk

Scrum 敏捷 Agile

网络攻防学习笔记 Day77

穿过生命散发芬芳

网络攻防 7月日更

金九银十马上要来了,我熬夜整理10 万字节详细面试笔记(带完整目录) 良心分享

Java 编程 程序员 架构 面试

Python OpenCV 对象检测,图像处理取经之旅第 37 篇

梦想橡皮擦

7月日更

华为数据治理及数据分类管理实践

王知无

和12岁小同志搞创客开发:检测按键状态的两件法宝

不脱发的程序猿

DIY 中断 创客开发 按键检测

【面试&个人成长】2021年过半,社招和校招的经验之谈

王知无

Spark SQL和DataFrames:与外部数据源进行交互(五)

Databri_AI

sql spark

华为18级工程师耗时三年才总结出这份Java亿级高并发核心编程手册

Java 编程 程序员

一文入门 Go 的性能分析

Rayjun

pprof Go 语言

北鲲云计算,用技术成就生物科学领域发展

北鲲云

项目管理实践篇(一):技术人如何做好风险把控

后台技术汇

项目管理

八位阿里大牛耗时三年总结出Java面试复盘手册!带你实现逆风翻盘

白亦杨

Java 编程 程序员

模块二作业

SAKIN

科学主义 -- 个人进步的杀手

俞凡

认知

Propel: 由Node.js之父创建的JavaScript科学计算库_JavaScript_Dylan Schiemann_InfoQ精选文章