HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈

OpenAnolis小助手

开源 云原生 内核 SMC协议栈 TCP应用

Cloud Kernel SIG月度动态:发布 ANCK 新版本及 Plugsched v1.2.0

OpenAnolis小助手

内核 龙蜥社区 sig anck CVE修复

寻找机器人:为什么我们不应该“隐藏人类”

开源雨林

开源 聊天机器人 ChatGPT

备战两个月斩获阿里offer,这份《Java高分面试指南》也太顶了

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

GreptimeDB v0.1 发布|原生支持 Python, PromQL 和对象存储

Greptime 格睿科技

云原生 时序数据库 PromQL

天池 DeepRec CTR 模型性能优化大赛 - 夺冠技术分享

阿里云大数据AI技术

人工智能 深度学习

「金三银四」这些面试题,看看你会答几道?

王中阳Go

Go 后端 面试题 简历优化 就业辅导

ArchKeeper(开篇):架构守护平台的问题与理念

京东科技开发者

架构 敏捷 系统架构 腐化治理 企业号 3 月 PK 榜

React Hooks源码深度解析

京东科技开发者

函数 React Hooks 企业号 3 月 PK 榜

Jasper狂飙:AIGC现象级应用的增长秘笈

OneFlow

人工智能 深度学习 ChatGPT

JavaScript 对象管家 Proxy

devpoint

JavaScript Proxy ECMAScript 6

高效学 C++|组合类的构造函数

TiAmo

组合 C++

MegEngine 使用小技巧:借助 DataLoader 获取分批数据

MegEngineBot

深度学习 开源 模型训练 数据预处理 MegEngine

2023年深圳.NET线下技术沙龙要开始了!名额有限,报名从速

MASA技术团队

.net MASA

FTP VS镭速传输,小文件传输技术内有乾坤

镭速

详解数仓中sequence的应用场景及优化

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

Matlab实现图像分割

timerring

图像分割

还不知道如何在java中终止一个线程?快来,一文给你揭秘

程序那些事

线程 多线程 「Java 25周年」 程序那些事 java

共建区块链生态,旺链科技获颁2022年度FISCO BCOS产业应用合作伙伴

旺链科技

区块链 区块链+

还在curd吗?封装属于自己的Spring-Boot-Starter

做梦都在改BUG

Java spring Spring Boot Starter

如何基于 Skywalking 来快速搭建一套应用性能监控平台

观纵科技

APM 全链路监控 Skywalking

开源工具系列5:DependencyCheck

HummerCloud

API Gateway vs Load Balancer:选择适合你的网络流量管理组件

API7.ai 技术团队

如何从5万设备中找出频繁掉线设备,长期不在线的设备?——设备管理运维类

阿里云AIoT

全球化趋势下,如何建设稳定高效的技术能力?

阿里技术

全球化技术

聊聊游戏业务怎么用高斯Redis

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

企业全球化出海技术体系建设实录【专题合集】

阿里技术

技术专题合集 全球化技术能力

IoT物联网平台-规则引擎SQL数据格式详解——设备管理运维类

阿里云AIoT

sql 物联网 数据格式

15 英寸 MacBook Air 和黄色 iPhone 14 在路上吗?

Rose

apple

软件测试/测试开发 | Spring Boot 集成 Swagger

测试人

软件测试 springboot 测试发开

贴合运维业务场景的告警聚合实现——以Zabbix为例

观纵科技

zabbix 运维监控 IT运维

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