TensorLayer进阶资源

TensorLayer进阶资源_第1张图片
1.png

巧妙使用 TensorFlow 之 TensorLayer

TFLearn - High Level Abstraction Layer for TensorFlow Tutorial


如何用TensorLayer做目标检测的数据增强

TensorLayer 是建立在 Google TensorFlow 上的深度学习(Deep Learning)与增强学习(Reinforcement Learning) 软件库。它的优势在于既能提供高级 API 以方便开发者快速搭建网络模型,也能保证与 TensorFlow 的全透明衔接。源码简洁,非常容易修改与拓展,同时适合于算法研究人员和产品开发者,加快新算法产品化。 官方例子涵盖 Stacked Denoising Autoencoder, Dropout, CNN, LSTM, Word Embedding, Language Modelling, Machine Translation, Deep Reinforcement Learning等等。官方网站 不仅仅描述了如何使用该API,它还包含所有官方例子的算法教程。

强烈推荐 TensorLayer 的原因是它不仅仅是一个功能齐全的工具,它与 TensorFlow 全透明的衔接方式是 Keras、Tflearn 没法相提并论的;对研究者而言,可以非常方便地修改训练的过程,而不会像其他库用简单的一行 fit() 搞定,根本没法让人修改内部运作,然而对研究者而言最重要的是它的源码真的写得太棒了,我觉得它是我见过最简洁的Python代码,我们的算法可以很容易拓展进去,然后和它已有的功能一起使用!!! 对普通开发者而言,它的好处是例子多,例子的代码风格保持一致,不像TensorFlow官方代码那样每个例子的代码风格完全不同。。一致的代码风格有助于开发人员快速找到合适的模型来开发产品。

此外,值得注意的是 TuneLayer 的前身是 TensorLayer 它是为科学家和工程师而设计的一款基于Google TensorFlow开发的深度学习与增强学习库。使用 TLayer 可以大大加快算法实验和产品开发速度。它非常容易拓展和修改,并提供大量的官方例子程序,方便开发者快速找到适合自己项目的例子。

官方文档 不仅仅描述如何使用 TuneLayer API,还包含了大量的教程,覆盖不同的神经网络类型、深度增强学习和自然语言处理等等。不过,与其它基于TensorFlow开发的傻瓜式API不同,TuneLayer需要使用者有基本的神经网络知识。了解TensorFlow的基础,可以让用非常熟练地使用它。


设计理念

TuneLayer 的发展需要和 TensorFlow 紧密结合,因此 TLayer 的设计具有很强的可塑性,它追随如下的设计理念:

Transparency(透明):不会去隐藏 TensorFlow,而是尽可能地依赖 TensorFlow 的方法,追随 TensorFlow 的惯例。不会去隐藏训练过程,所有迭代、初始化都可以被用户管理。
Tensor (张量):神经网络通过高纬度数据表达。
TPU(张量处理单元):张量处理单元是 Google 设计的专门执行机器学习的定制化 ASIC,除了 TPU 我们将不断兼容更多的机器学习 ASIC。
Distribution(分布式):分布式机器学习是 TensorFlow 的基本功能,TLayer 在 TensorFlow 的基础上结合 Spark ,让分布式计算更好地服务于机器学习。
Compatibility(兼容性):网络被抽象为规则函数、损失函数和每层输出。容易与其它 TensorFlow 库结合。
Simplicity(简化):容易使用,容易拓展与修改,加快研究成果的产品化进度。
High-Speed(高速):在使用GPU时,运行速度和纯TensorFlow代码一样,不会因为简化代码而牺牲性能。


Useful links
TensorLayer 的github地址
TensorLayer中文
TensorLayer 中文文档地址
TensorLayer 英文文档地址
巧妙使用 TensorFlow 之 TensorLayer
tensorlayer-tricks


Deep Reinforcement Learning: Pong from Pixels

U-Net for brain tumor segmentation by zsdonghao

你可能感兴趣的:(TensorLayer进阶资源)