写点什么

Facebook 开源深度学习项目 Torchnet

  • 2016-07-31
  • 本文字数:1089 字

    阅读完需:约 4 分钟

Facebook 发表了一篇学术论文博客,详细介绍基于 Lua Torchnet 项目。这是一个以深度学习为中心的新的开源项目,以之前开源的 Torch 库为基础构建。

在一次采访中,Facebook 人工智能研究实验室( FAIR )的 Laurens van der Maaten 指出,它可以用于类似图像识别、自然语言处理这样的工作,其方法和面向 Theano 框架的 Blocks Fuel Python 库类似。他还指出:

举例来说,它让完全隐藏 I/O[输入 / 输出] 开销变得非常简单,如果想要训练一个实际的大规模深度学习系统,那么这是许多人都需要的东西。

据报道,Torchnet 提供的抽象不限于 Torch,也可以用于 Caffe 和 TensorFlow,因为 Torchnet 对底层学习框架的限制很少。

据报道,基于 Torch-7 的 Torchnet 提供了可重用的抽象和样板逻辑(围绕异步数据加载、机器学习多 GPU 计算等诸如此类的工作)。Torch 7 使用 Lua 构建,用于在 CPU 上使用 OpenMP / SSE 以及通过 CUDA 体系结构在 GPU 上运行代数运算。据 FAIR 介绍,Torch 7 是深度机器学习的基本框架之一。FAIR 打算将 Torchnet 打造成一个社区驱动的、基于插件的平台。对于 Torchnet 项目的动机和愿景,FAIR 指出:

开源的 Torch 库已经有了一个非常活跃的开发者社区,创建出了用于优化、“流形学习(manifold learning)”、度量学习、神经网络等的程序包。Torchnet 以此为基础构建,而且被设计成了一个研究社区可以做贡献的平台,主要是通过实现机器学习实验或工具的插件……按照我们的设想,Torchnet 会成为一个社区所有的平台,在 Torchnet 核心实现完成之后,它会使用和 Torch 一样的方式提供一系列的子程序包。

根据 FAIR 的论文,Torchnet 主要运用了5 个抽象,以实现高效地重用和优化,否则,就要像许多项目所做的那样使用客户化代码。_Dataset_ 抽象提供了数据集中的样本数量和一个返回样本的_get()_ 函数。_DatasetIterator_ 抽象允许遍历数据集,并管理异步并行。_Engine_ 抽象实现了模型、_DatasetIterator_ 和损失函数之间的交互以及一个训练和测试函数。 Engine_ 还提供了钩子,让用户可以注入实验特有的代码,比如性能 _Meter。据报道,将钩子实现为闭包让 Torchnet 可以在用于训练和测试模型的代码之间共享逻辑。_Meter_ 抽象一般会实现两个函数 _add(output, target)_ 函数和 _value()_ 函数。Meter 提供了度量如下性能属性的能力:

一个训练阶段的执行时间,所有示例的损失函数平均值,二元分类器 ROC 曲线下的面积,多类分类器的分类错误,检索模型的准确率和召回率,或者排序算法的归一化衰减累积熵。

最后,Log 抽象提供了将实验日志输出为原始文本或 JSON 的能力。

查看英文原文 Facebook Open-Sources Deep Learning Project Torchnet

2016-07-31 19:003043
用户头像

发布了 1008 篇内容, 共 393.0 次阅读, 收获喜欢 344 次。

关注

评论

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

各种消息队列设计要点与对比

海明菌

消息队列 消息队列对比 消息队列系统设计

我测了啊,我真测了!

QualityFocus

测试 质量保障 线上问题 缺陷

「SQL数据分析系列」15. 元数据

Databri_AI

sql 脚本 元数据

【最不佳实践】文件上传并不简单

刘宇

Python Serverless 文件上传

王者并发课-钻石2:分而治之-如何从原理深入理解ForkJoinPool的快与慢

MetaThoughts

Java 多线程 并发

Windows10下JDK8下载及java环境配置

Bob

8月日更

在线网页快捷方式创建工具

入门小站

工具

2020-2021华为Java面试真题

Geek_f90455

Java 程序员 后端

2020-2021阿里巴巴Java面试真题解析

Geek_f90455

Java 程序员 后端

一个好的产品需要一个好的产品

刘宇

产品经理

趁着课余时间学点python(二)缩进 标识符 保留字 注释 输入输出的理解

ベ布小禅

8月日更

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

编程菌

Java 编程 程序员 面试 计算机

JDK 从8升级到11,使用 G1 GC,HBase 性能下降近20%。JDK 到底干了什么?

毕昇JDK社区

缓存数据历险记(一)--被缓存警察上课一天

卢卡多多

redis 缓存 8月日更

Hbase 入门详解

Se7en

DDD领域驱动设计·学习应用·一

小诚信驿站

领域驱动设计 领域驱动模型DDD 中台架构 领域驱动

Vue组件通信之ref

Augus

8月日更

【最不佳实践】函数计算的函数是什么意思

刘宇

Serverless

Elasticsearch VS ClickHouse

Se7en

12年高级工程师的“飞升之路”

Geek_f90455

Java 程序员 后端

奥运“哮喘”运动员为什么越来越多?

脑极体

弱口令到底是什么牛马?

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

为什么需要数据库连接池

赖猫

MySQL 数据库 后端 连接池

Linux之watch命令

入门小站

Linux

2020-2021京东Java面试真题解析

Geek_f90455

Java 程序员 后端

NLP随笔(三)

毛显新

人工智能 自然语言处理 神经网络 深度学习

从未如此简单:基于Serverless架构的博客

刘宇

Serverless Hexo 博客

再见 Jenkins!几行脚本搞定自动化部署,这款神器有点厉害

编程菌

Java 编程 程序员 计算机 技术宅

网络攻防学习笔记 Day94

穿过生命散发芬芳

网络攻防 8月日更

SpringBoot 中的事务处理

xcbeyond

事务 springboot 8月日更

黄金圈法则解读数据中台(1):为什么需要数据中台

水滴

数据中台 黄金圈法则 8月日更

Facebook开源深度学习项目Torchnet_开源_Dylan Raithel_InfoQ精选文章