资源 | 机器学习新框架Propel:使用JavaScript做可微分编程

选自propelml.org

机器之心编译

参与:李亚洲

本文介绍了一种 JavaScript 的机器学习新框架 Propel,该框架技能在 Node 中使用,又能在浏览器中使用。以下是对该框架的使用介绍。

链接:http://propelml.org/

Propel 提供 JavaScript 中的 GPU 后端类似 numpy 的基础设施。JavaScript 作为快速、动态语言,我们认为可以作为所有科学类程序员的理想工作流。

Propel 在浏览器、Node 中都能运行。在两个环境中,Propel 都能够使用 GPU 硬件对计算进行加速。在浏览器中,它能通过 deeplearn.js 利用 WebG,在 Node 上,它能使用 TensorFlow 的 C API。

import { grad, linspace, plot  } from "propel";

f = x => x.tanh();
x = linspace(-4, 4, 200);
plot(x, f(x),
     x, grad(f)(x),
     x, grad(grad(f))(x),
     x, grad(grad(grad(f)))(x),
     x, grad(grad(grad(grad(f))))(x))

Propel 有个重要的 autograd 式的 API,这不同于 TensorFlow。在运行过程中,会随着追踪计算图,通用的一种梯度函数提供了做反向传播的简洁借口。

浏览器做 demo 很棒,但不是强大的数字平台。WebGL 又和 CUDA 相距甚远。通过在浏览器外运行 Propel,用户能够面向多种 GPU,并做 TCP 连接。服务器边开发的模型能够更容易部署为 HTML demo。

基础的 Propel npm 程序包只是 Javasript 的,没有 TensorFlow 捆绑物。为了提升速度,你可以安装:

npm install propel_mac
npm install propel_windows
npm install propel_linux
npm install propel_linux_gpu

在 Node 中使用 Propel:

npm install propel
import { grad } from "propel";

在浏览器中使用 Propel:

<script src="https://unpkg.com/propel@3.0.0"></script>

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

测试矩阵

迷阵 “单元测试,集成测试,端到端测试,安全测试,性能测试,压力测试,契约测试,冒烟测试,验收测试,API测试,UI测试,兼容性测试……” 不知道你是不是像我一...

47290
来自专栏玉树芝兰

如何对PDF文献做可视化分析?

看了大量文献后,你的硬盘上想必存下不少PDF文件。能否充分利用它们,挖掘出你独特的领域知识地图呢?本文为你提供一种简便易行的办法。

18020
来自专栏编程

基于Python库Face_Recognition动手DIY人脸识别

0X00 前言 最近使用iPhone x,把人脸识别代入了我们的生活中。前段时间了解了一个Python的一个开元函数库,并对其进行了分析、学习和实践,那么今天我...

36950
来自专栏机器之心

教程 | 如何使用Swift在iOS 11中加入原生机器学习视觉模型

选自Hackernoon 机器之心编译 作者:Alex Wulff 参与:侯韵楚、李泽南 随着 WWDC 大会上 iOS 11 的发布,苹果终于推出了原生机器学...

32450
来自专栏吉浦迅科技

假如用多个CPU核同时控制一个GPU,并且进行运算与数据的传递,请问这能够实现么?...

问:假如用多个CPU核同时控制一个GPU,并且进行运算与数据的传递,请问这能够实现么?我的工作站是48个CPU核,两块GPU卡,打算把CPU和GPU都用起来,我...

39770
来自专栏AI研习社

Github 项目推荐 | 用于构建端对端对话系统和训练聊天机器人的开源库 —— DeepPavlov

DeepPavlov 是一个开源的会话 AI 库,建立在 TensorFlow 和 Keras 之上,用于以下设计: NLP和对话系统研究; 实施和评估复杂的会...

66590
来自专栏大数据文摘

交互式数据可视化,在Python中用Bokeh实现

455110
来自专栏李蔚蓬的专栏

2018.01.21.一周机器学习周记

3.根据提示,在官网下载对应的CUDA版本,下载完成后进行安装(安装之前先卸载本地的旧版本)

14810
来自专栏CVer

【重磅】吴恩达最新的机器学习书籍更新啦!

Amusi曾于2018年4月5日推送了重磅:吴恩达最新的机器学习书籍《Machine Learning Yearning》,当时Amusi收到了一封邮件,如下所...

13020
来自专栏AI科技大本营的专栏

AI 技术讲座精选:5款新手也能快速构建的深度学习应用(使用Python)

前 言 深度学习从根本上改变了我们周围的一切。很多人认为必须成为深度学习的专家,才能将深度学习用到自己的应用中。然而,实际并非如此。 在我之前的文章中,我讨论了...

35270

扫码关注云+社区

领取腾讯云代金券