当前位置: 首页 > 资讯

【原创】tensorpack 高效的TensorFlow神经网络训练接口

论智       2017-11-06

tensorpack是一个基于TensorFlow的神经网络训练接口,主要特色是训练速度。


tensorpack架构


tensorpack架构概览

特性


tensorpack只包含少量常用的模型,因此你可以自由搭配其他框架和库提供的模型,包括sonnet、Keras、slim、tflearn、tensorlayer等。

专注于训练速度。

tensorpack以高效的方式使用TensorFlow。对许多种CNN(卷积神经网络)而言,tensorpack的性能是Keras的1.5至1.7倍。

开箱即用的分布式训练(多CPU并行数据),性能和Google官方基准测试相当。

你可以运行自带的性能测试脚本看看tensorpack有多快。

专注于大数据集。通过TensorFlow读取、预处理数据比较麻烦,tensorpack帮助你用纯Python代码加载大数据集(例如,ImageNet),而且自动带上并行。同时,tensorpack配合使用TF队列或tf.data也很方便。

提供可扩展的回调接口。编写一个回调函数,实现训练迭代以外的其他功能,然后只需一行代码就可以启用这个回调。常见的回调函数的例子:

在训练过程中调整超参

打印一些感兴趣的tensor

监控GPU使用量

发送出错率到你的手机

安装


首先安装以下依赖:


Python 2 或 3

TensorFlow >= 1.0.0 (多GPU支持需要 >=1.1.0)

OpenCV的Python绑定(可选)

然后使用pip安装:


pip install -U git+https://github.com/ppwwyyxx/tensorpack.git

以上命令会安装tensorpack到系统目录,如果不想安装到系统目录,可以在pip后加--user参数安装到用户目录。


如果你只打算单独使用tensorpack.dataflow作为数据处理库,那么TensorFlow也是可选依赖。


文档和样例代码


tensorpack项目的教程很详细,自带丰富的样例代码,范围包括上手、视知觉、强化学习和自然语言处理。


arxiv.org/abs/1504.06375


使用tensorpack重现Saining的HED论文

机器人网原创文章,未经授权禁止转载。详情见转载须知

本文来自机器人网,如若转载,请注明出处:https://www.jqr.com/news/008473