专栏首页新智元Facebook 刚开源的 Torchnet 与谷歌 TensorFlow 有何不同

Facebook 刚开源的 Torchnet 与谷歌 TensorFlow 有何不同

【新智元导读】Facebook今天宣布开源深度学习平台 Torchnet。Torchnet 基于广泛使用的开源深度学习框架 Torch 7 搭建,支持模块化编程方法,能减少程序员工作量、降低错误率,简化深度学习模型训练过程。相比其他巨头自己搭建的深度学习平台,Torchnet 更加开放,也将大幅推进深度学习的应用普及。

2016 年 6 月 24 日,Facebook 宣布开源深度学习平台 Torchnet,简化研究和开发人员建立深度学习系统过程。

Torchnet 以目前广泛使用的深度学习框架 Torch 7 为基础,采用 Lua 语言编写,可以在 CPU 和 GPU 上运行,支持代码复用,从而减少程序员工作量,降低程序运行的错误率。

Facebook人工智能研究实验室的研究科学家 Laurens van der Maaten 告诉 VentureBeat,Torchnet 主要目的并非为了加快 Torch 运行速度,而是免去输入/输出的成本(cost)。

如今,越来越多的企业都开始使用深度学习,而在训练用于解决实际问题的大规模深度学习系统时,输入/输出成本是非常现实而且经常会遇到的问题。因此,可以预计 Torchnet 将极大推动深度学习应用的普及。

点亮深度学习之路

Facebook 的 3 位研究员在官方博客中比较详细地介绍了 Torchnet。据悉,Torchnet 是 Facebook 于刚刚结束的 ICML 2016 大会上介绍的一款开源的新型深度学习软件包,为了帮助研究和开发人员在 Torch 上建立快速的、可复用的学习系统原型而推出。

虽然 Torch 已经是比较成功的深度机器学习研究框架,但它不为机器学习实验提供抽象概念和样本代码,导致开发人员需要进行大量重复编程工作。这样会造成错误重现,可能得出不正确的研究结论,减慢开发的整体进度。Torchnet 能指引研究者建立清晰编程框架,而样本代码能帮助他们加速开发进程。

Torchnet 提供了基本概念和代码集,包括样本代码(boilerplate code)、关键抽象概念(key abstractions)和参考执行代码(reference implementations)。这些概念和代码集可以被灵活组合或拆开,并在后续开发中重复使用。其中,还有一个重要的子程序包,含有计算视觉、自然语言处理和语音处理等与机器学习有关的样本代码实现。

Torchnet 的总体设计就像乐高,程序块都按照一定的规则设计,很容易组合在一起,所有组合在一起的模块构成了一个统一的系统。在这个系统中,各个组件紧密相连又能相互取代。

Torchnet 的模块化设计使数据集测试、数据加载过程和模型、性能评估等衍生程序测试更加容易,从而加快实验速度。借助 Torchnet,在不同的数据集上运行相同的实验,就跟插入不同的(基本)数据加载器一样简单,改变评估标准只用改变一行代码就能实现(插入不同的性能指示器)。

Facebook 研究员在博文中写道,开源 Torchnet 是为了促进 Torch 开发社区相互交流,让大家共同打造更加高效的深度学习模型。

Torchnet > TensorFlow

继谷歌、微软、亚马逊等巨头之后,Facebook 也终于来到开源深度学习平台的竞技场。Torchnet 的表现会如何?看看它和谷歌的 TensorFlow 有什么不同。

首先,Torchnet 并不关注提升深度神经网络的推理计算和梯度计算性能,而是为了便于研究人员更加便捷地进行机器学习实验或设计相关工具(主要以插件的方式)。如果说谷歌的分布式 TensorFlow 3 天训练一个模型,是高手过招的竞技场,那么 Torchnet 则是将训练深度学习模型的门槛连降 3 级。

此外,TensorFlow 原本是谷歌内部研发的产品,后来变成开源。而 Torchnet 则一开始就 以开源深度学习框架 Torch 7 为基础。虽然目前 TensorFlow 吸引了很多开发者,但 Torch 有着非常活跃的开发者用户群,再加上门槛低,Torchnet 的使用人数反超 TensorFlow 也并非不无可能。

最后,Torchnet 并不局限于 Torch,还可以应用于其他框架,比如 Caffe 和谷歌的 TensorFlow。

名称

支持平台

语言

界面‍‍

训练好的模型

TensorFlow

Linux, Mac OS,Windows roadmap

C++, Phython

Phython, C/C++

Torchnet

Linux, iOS, Android, Mac OS X

C, Lua

C, Lua, LuaJIT,utility libaray for OpenCL/C++

深度学习迈入商业应用

虽然近来深度学习广受关注、引领技术潮流,但真正使用深度学习的应用还在少数。

对于任何产业而言,规模或者普及程度都是至关重要的,起着决定性的作用。没有足够大的规模,就无法建立基础设施、商业模式、培养用户、形成市场……也正因此,Facebook 才开源 Torchnet。

这跟此前巨头掀起的“开源”浪潮不同,Facebook 并不是开源公司内部的一个平台,Torchnet 是真正的公开,不仅仅是为了吸引更多开发者,最重要的目的是降低门槛,让更多人使用深度学习技术,扩大产业整体的市场规模。

本文分享自微信公众号 - 新智元(AI_era)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-06-24

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习之随机森林(R)randomFordom算法案例

    1.随机森林原理介绍 随机森林,指的是利用多棵树对样本进行训练并预测的一种分类器。该分类器最早由Leo Breiman和Adele Cutler提出,并被注册...

    学到老
  • 简单易学的机器学习算法——线性回归(1)

    一、线性回归的概念     对连续型数据做出预测属于回归问题。举个简单的例子:例如我们在知道房屋面积(HouseArea)和卧室的数量(Bedrooms)的情况...

    zhaozhiyong
  • Pytorch 0.3发布:实现多方面提速,增加对ONNX支持 | 快讯

    2017 年初,Facebook 在机器学习和科学计算工具 Torch 的基础上,针对 Python 语言发布了一个全新的机器学习工具包 PyTorch。一经发...

    AI研习社
  • 如何看待机器学习中的“稳定性”?

    前言 机器学习的过程往往被人戏称为“炼丹”,这大概要归功于其中难以估量的不确定性。 在道观(实验室)里,我们可以放心的让算法在丹炉(GPU)上无休无止的炼(...

    AI研习社
  • 高级数据科学家阿萨姆:如何应对机器学习过程中的多项选择问题?| 分享总结

    AI 研习社按:随着硬件算力的上升、数据量的加大以及各种新算法的浮现,机器学习也变得一天比一天火热。不夸张的说,这是机器学习的时代。然而,机器学习虽然能够给出惊...

    AI研习社
  • TensorFlow实现神经网络入门篇

    如果你一直关注数据科学/机器学习,你就不能错过深度学习和神经网络的热潮。互联网公司正在寻找这方面的人,而且从竞赛到开源项目,都有巨额奖金。 如果你对深度学习所提...

    AI研习社
  • 机器学习入门秘笈

    上周,我看到一些非常好的机器学习备忘单(http://t.cn/RY8iUgc),我想这对刚接触机器学习的工程师来说应该是极有帮助的。但是图片超不清晰,花费很多...

    AI研习社
  • 2017 摩拜杯算法挑战赛,第三名团队解决方案

    比赛已经结束快两个月了,一直拖到现在才开始总结。 官网网址:https://biendata.com/competition/mobike/ GitHub源码:...

    AI研习社
  • 继 “Angel” 开源后,腾讯又开放 TDinsight 机器学习平台

    目前 BAT 都有各自的机器学习开源平台,阿里云早在 2015 年就推出了数据挖掘平台 “DTPAI”;百度推出了面向开发者的 PaddlePaddle,腾讯推...

    AI研习社
  • 2017 十大最受欢的迎机器学习 Python 库

    2017 年即将结束,又到了做年终总结的时候,本文盘点了今年最受欢迎的十个 Python 机器学习库,同时在文末选出了一些值得关注的 Python 库。如果本文...

    AI研习社

扫码关注云+社区

领取腾讯云代金券