“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2018-03-15 03:0010215

评论

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

未来 Android 开发的从业方向,android开发的基础知识

android 程序员 移动开发

本来只想试试水,没想到5面后还真进了字节!,Android程序员如何通过跳槽薪资翻倍

android 程序员 移动开发

深入Android系统 Binder-2-使用,阿里P7亲自讲解

android 程序员 移动开发

毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!(1)

android 程序员 移动开发

浅析NestedScrolling嵌套滑动机制之实践篇-仿写饿了么商家详情页

android 程序员 移动开发

月薪60k,仍无人问津,腾讯阿里到底有多缺这类程序员,Android软件开发面试题

android 程序员 移动开发

有幸在GitHub上get到标星11k的面试笔记,让我成功入职美团Android开发岗

android 程序员 移动开发

本想着只是蹭一蹭,没想到真的进去了,flutter下拉刷新样式

android 程序员 移动开发

正则表达式基础,记得把每一次面试当做经验积累

android 程序员 移动开发

新鲜出炉的Android“面筋”,kotlininline函数

android 程序员 移动开发

某一线互联网大厂内部超高质量Flutter+Kotlin笔记!技术与实战篇

android 程序员 移动开发

毕业6年,技术人的不惑之路,移动app开发工具

android 程序员 移动开发

浅谈ConcurrentHashMap,android游戏开发大全第二版代码

android 程序员 移动开发

普通Android码农,该如何逆袭月薪-5W-的移动端架构师?

android 程序员 移动开发

最新Android面试题整理,移动端h5页面适配

android 程序员 移动开发

流媒体协议之WebRTC实现p2p视频通话(二),kotlin数组转集合

android 程序员 移动开发

深入Flutter TextField,android开发流程图

android 程序员 移动开发

是让人-提神醒脑-的-MVP、MVVM-关系精讲!,2021最新Android开发面试解答

android 程序员 移动开发

最新字节跳动技术五面(刚拿Offer):一面,androidrom开发面试题

android 程序员 移动开发

最新阿里P7技术体系,Android开发突破50W年薪,kotlin匿名内部类this

android 程序员 移动开发

注意!关于怎么理解 onStart可见但不可交互,程序员千万不要小瞧了这个问题

android 程序员 移动开发

最新字节跳动技术五面(刚拿Offer):一面(1),高级UI都没弄明白凭什么拿高薪

android 程序员 移动开发

有效治理 BadTokenException,flutter安装androidsdk

android 程序员 移动开发

横向对比Jetpack、RxJava、Glide框架中对组件生命周期Lifecycle感知原理

android 程序员 移动开发

求职注意事项:Android面试中不可犯的这些“九大失误,Android常用面试

android 程序员 移动开发

模板方法模式,flutter刷新机制

android 程序员 移动开发

毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者!

android 程序员 移动开发

没有对象怎么面向对象编程呢?真让人头秃!,sharedpreferences跨进程

android 程序员 移动开发

某Android程序员哀叹:自己薪资远远超过了能力,想跳槽又怕外面接不住

android 程序员 移动开发

浅谈Android网络通信的前世今生--网络基础,深度剖析原理

android 程序员 移动开发

深入RecyclerView学习—缓存机制,kotlin带参数的单例模式

android 程序员 移动开发

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