写点什么

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:0011571

评论

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

Native SQLite Manager v1.28.1 Mac极简SQLite数据库管理器

Rose

USBclean for Mac(USB专杀工具)v4.0激活版

Rose

利用Kafka,实时挖掘企业数据的价值

NineData

MySQL oracle kafka NineData 数据管道

智源研究院与百度达成战略合作 共建AI产研协同生态

智源研究院

声网发布 aPaaS 灵动会议:RTE + AI,打造下一代会议产品

ToB行业头条

三明市等保测评机构有几家?在哪里?

行云管家

等保 等保测评 三明企业

支持离线模式:iOS 移动应用程序的关键策略和优势

哦豁完蛋了

ios

微信技术总监谈架构:微信之道——大道至简(演讲全文)

JackJiang

即时通讯;IM;网络编程

基于Sentinel自研组件的系统限流、降级、负载保护最佳实践探索

京东科技开发者

Elmedia Video Player Pro for Mac 视频播放软件 v8.19

Rose

这样的SQL太吓人了

江南一点雨

API 蔓延问题出现的六大迹象

NGINX开源社区

读书笔记 程序员 个人成长 最佳实践 API Gateway

【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle

YashanDB

yashandb 崖山数据库 yashandb知识库

如何更高效传输非结构化数据?Zilliz 推出全新数据迁移服务

Zilliz

AI 数据迁移 向量数据库

【YashanDB知识库】YAS-04110 invalid variant name

YashanDB

yashandb 崖山数据库 yashandb知识库

FxFactory 8 Pro 视觉特效处理包 mac软件最新版 v8.0.18激活版

Rose

数据飞轮:驱动企业持续增长的新引擎

松子(李博源)

数据分析 增长 #大模型

mac苹果电脑奈飞客户端:Netflix Mac 激活版

你的猪会飞吗

Netflix Mac激活版 Netflix客户端 Netflix mac版破解版下载

【YashanDB知识库】客户端字符集与数据库字符集兼容问题

YashanDB

yashandb 崖山数据库 yashandb知识库

云资源高效运维就用云管平台!

行云管家

云计算 云管平台 云资源

如何用Rust编写一个ChatGPT桌面应用(保姆级教程)

京东科技开发者

美团VS饿了么,到底谁更胜一筹?

王中阳Go

美团 面经 饿了么 面试问题

阿里巴巴商品详情API返回值中的商品标签与关键词

技术冰糖葫芦

api 货币化 API 接口 API 测试 pinduoduo API

NLP技术在营业选址中的实践与探索

鲸品堂

大模型 企业号2024年9月PK榜

【YashanDB知识库】查询YashanDB表空间使用率

YashanDB

yashandb 崖山数据库 yashandb知识库

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