NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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 )关注我们。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-03-15 03:0010305

评论

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

netty系列之:EventLoop,EventLoopGroup和netty的默认实现

程序那些事

Java Netty 程序那些事

大数据培训:Flink面试连环17问

@零度

flink 大数据开发

IOS技术分享| 你画我猜小游戏快速实现

anyRTC开发者

音视频 移动开发 互动白板 你画我猜 社交娱乐

2021年中国在线婚恋交友行业分析

易观分析

婚恋行业

某神奇App data加密算法解析(一)

奋飞安全

android js 移动安全

【云管平台】三大知名云管平台简单介绍

行云管家

云计算 云管平台 云资源 云 云时代 2B

拥抱国产化,推动产业互联网,拍乐云发布RTC私有云解决方案

拍乐云Pano

音视频 产业互联网 私有云 国产化

全球案例 | 凯捷如何通过 Jira Software 和 Confluence 将全球产品团队联系起来

龙智—DevSecOps解决方案

Jira Atlassian Atlassian 凯捷 共享平台

什么是规划物料清单(Planning BoM)?

龙智—DevSecOps解决方案

BOM Planning BoM 规划物料清单 半导体行业

基于CC2530(ZigBee设计)的温度报警器

DS小龙哥

2月月更

如何在TypeScript/JavaScript项目里引入MD5校验和

华为云开发者联盟

JavaScript typescript npm md5 MD5校验

知名服务器运维软件厂商堡塔加入龙蜥社区,并完成与 Anolis OS 兼容适配

OpenAnolis小助手

Linux 开源 服务器 安全技术

手把手带你开发一款提效工具--VScode插件

得物技术

效率工具 前端 vscode 前端开发 插件

龙蜥社区一周动态 | 2.14-2.20

OpenAnolis小助手

Linux 开源 动态

java培训:JVM 的面试题

@零度

JVM JAVA开发

大厂晋升指南:材料准备,PPT写作和现场答辩

邴越

大厂技能 2月月更 晋升 职级

前端培训:Vue3添加公共方法与使用

@零度

前端开发 Vue3

IDP深度 | 企业到底需要何种数据分析挖掘工具?

Baihai IDP

人工智能 数据挖掘 商业智能

【营】在开局,提升【豹】发力 - vivo活动插件管理平台

vivo互联网技术

前端 插件系统 构架

HarmonyOS Lottie组件,让动画绘制更简单

HarmonyOS开发者

UI HarmonyOS ArKUI 3.0

研究了2.1亿个皇堡后,英特尔BigDL发现了真相

科技新消息

揭秘2022冬奥黑科技,阿里云视频云「Cloud ME」如何实现全息会面?

阿里云视频云

阿里云 音视频 全息显示 视频云 冬奥会

面试突击24:为什么wait和notify必须放在synchronized中?

王磊

面试 java面试

万字详解数据仓库、数据湖、数据中台和湖仓一体

五分钟学大数据

数据中台 数据仓库 数据湖 湖仓一体

凡泰极客加入中商联互联网应用工作委员会并荣任常务委员单位

FinClip

开源免费的舆情系统的架构

思通数科

爬虫 数据采集 舆情 舆情分析

【游戏研发必看】3 步配置 P4IGNORE + 精彩问答解析(用户文章转载)

龙智—DevSecOps解决方案

perforce P4IGNORE 游戏研发

Spring Boot AOP 扫盲,实现接口访问的统一日志记录

沉默王二

Java

扔掉 Electron,拥抱基于 Rust 开发的 Tauri

百瓶技术

rust 前端 框架开发 tauri

「前端CI/CD系列」第一篇:如何用建木CI往七牛云上传文件

Jianmu

CDN CI/CD 文件存储 七牛云 建木CI

看懂这5幅图,研发效能分析和改进就容易了

阿里云云效

阿里云 运维 数据分析 云原生 研发

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