当前位置:统一通信/协作企业动态 → 正文

Facebook开源深度学习项目Torchnet

责任编辑:editor006 作者:Dylan Raithel |来源:企业网D1Net  2016-08-01 16:46:38 本文摘自:INFOQ

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的能力。

关键字:TorchnetFacebook

本文摘自:INFOQ

x Facebook开源深度学习项目Torchnet 扫一扫
分享本文到朋友圈
当前位置:统一通信/协作企业动态 → 正文

Facebook开源深度学习项目Torchnet

责任编辑:editor006 作者:Dylan Raithel |来源:企业网D1Net  2016-08-01 16:46:38 本文摘自:INFOQ

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的能力。

关键字:TorchnetFacebook

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^