你好,游客 登录
背景:
阅读新闻

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

[日期:2018-01-25] 来源:网络  作者: [字体: ]

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

链接:http://propelml.org/

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

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

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

  2.  

  3. f = x => x.tanh();

  4. x = linspace(-4, 4, 200);

  5. plot(x, f(x),

  6. x, grad(f)(x),

  7. x, grad(grad(f))(x),

  8. x, grad(grad(grad(f)))(x),

  9. x, grad(grad(grad(grad(f))))(x))

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

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

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

  1. npm install propel_mac

  2. npm install propel_windows

  3. npm install propel_linux

  4. npm install propel_linux_gpu

在 Node 中使用 Propel:

  1. npm install propel

  2. import { grad } from "propel";

在浏览器中使用 Propel:

  1. < src="https://unpkg.com/[email protected]"></>

收藏 推荐 打印 | 录入:Cstor | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款