AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:003312
用户头像

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

关注

评论

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

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易云信

系统设计 异常处理

Gartner首次针对中国市场发布产业数字化白皮书,联合卡奥斯共探区域经济发展最优解

Openlab_cosmoplat

数字化 产业数字化 白皮书 开源社区 Gartner

直播预约|Search for Future,阿里云 × Elastic 中国用户峰会 2023

阿里云大数据AI技术

大数据 阿里云 搜索

工赋开发者社区 | 关于ChatGPT八个技术问题的猜想

工赋开发者社区

Linux系统搭建FTP服务

百度开发者中心

ftp服务

Dubbo 在 Proxyless Mesh 模式下的探索与改进

阿里巴巴中间件

阿里云 云原生 dubbo

CorelDRAW矢量图形设计软件2023最新版本功能介绍

茶色酒

CorelDraw2023

关于微服务系统中数据一致性的总结

Java 微服务 数据一致性

SpringApplication启动类的Args详解

石臻臻的杂货铺

spring springboot

Kubernetes 部署主从结构的 MySQL 服务

CTO技术共享

网易云信 Crash 异常治理实践 | 智企技术委员会技术专题系列

网易智企

系统设计 异常处理

如何让SpringBoot项目启动时执行特定代码

Java Spring Boot

一个可以早点下班的开发技巧

引迈信息

前端 敏捷开发 低代码 JNPF

ERP和MES如何做到优势互补,它们的区别在哪?

工赋开发者社区

选对调度器,让你的设备“纵享丝滑”

鼎道智联

算法 cpu ESA

软件测试/测试开发 | Spring Boot 异常处理

测试人

软件测试 springboot 自动化测试 测试发开

那些年,我们写过的无效单元测试

阿里巴巴中间件

阿里云 编程 云原生

Redis缓存知识大集合

阿呆

redis 缓存 缓存击穿 缓存雪崩

GitHub破千Star!Java多线程编程实战指南:核心篇+设计模式篇

Java 并发编程 多线程

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵社区

Spring boot starter test java 后端、 程序员 java

【经验分享】电路板上电就挂?新手工程师该怎么检查PCB?

华秋PCB

工程师 电路 PCB PCB设计

我在京东做研发丨【混合多云第一课】为何多云多活被称为“技术皇冠上的明珠”?

京东科技开发者

京东云 研发 混合多云

九科祝福丨人生不设限,愿你自由绽放

九科Ninetech

C++ sort和for_each算法的普通、文艺和2B用法

老王同学

c++ 排序

最佳实践 | 使用WebSocket做个实时人脸活体比对服务

牵着蜗牛去散步

人工智能 腾讯 最佳实践 腾讯云智能 慧眼人脸核身

2023年适用于Windows和Mac的FTP传输工具

镭速

EasyRecovery16数据恢复软件有哪些新功能?

茶色酒

EasyRecovery Photo16

黑盒测试方法—等价类划分法

测吧(北京)科技有限公司

测试

预售登上计算机新书热卖榜TOP1,开年重磅,助力Java程序员飙升核心技能

图灵教育

Spring boot starter test java 后端、 程序员 java

构建一个可复用的自定义BaseAdapter

芯动大师

Adapter viewholder item

软件测试/测试开发 | 数据持久化技术(Java)

测试人

软件测试 测试发开

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