Tensorlayer简介
深度学习框架使用的问题
对于深度学习开发者来说,深度学习系统变得越来越复杂。以至于我们需要使用轻量级的工具从头到尾来管理流程,为了将更多的连续学习内置到神经网络中,这就要求我们建立可以迭代增强的更有弹性的数据集以及更多的动态模型。 深度学习开发人员必须花费大量的时间来整合神经网络的组件,管理模型生命周期,组织数据和调整系统并行度等等。随着使用新的培训样本后,人类对于神经网络模型的见解,更新模型和跟踪其变化的能力就变得非常必要了。为此伦敦帝国理工学院的一个团队开发了一个python库来管理跨学科开发人员项目的复杂迭代过程。
TensorLayer诞生
为了更好地管理开发过程,该团队开发了一个通用的Python库——TensorLayer。这个库集成了很多开发过程中包括的方法,其中包括(操作、模型生命周期、并行计算、失败)都以模块化进行抽象。这些模块包括以下功能:
- 用于管理神经网络层
- 用于管理模型和其生命周期
- 用于管理数据集
- 解决容错的工作流模块。
Keras与TFLearn的弊端
虽然像Keras和TFLearn这样的工具现在很有用,但它们并不像网络那样可以随网络的扩张变得更复杂甚至无限制的迭代。它们提供了必要的抽象,以降低使用工具的门槛,但又掩盖了很多底层的算法。虽然对开发者有好处,但是相对来说底层技术就变得难以调整和修改,而底层技术的修改和调整,这在解决许多现实世界的问题上是非常必要的。
TensorLayer的特点
与Keras和TFLearn相比,TensorLayer不仅提供了高级抽象,而且提供了包括数据预处理、训练、训练后处理,以及服务模块和数据库管理在内的端到端工作流程,这些是开发者建立一个完整模型所需要的全部过程。 TensorLayer倡导更灵活且可组合的范式:神经网络库可以与本机引擎交换使用。这允许开发者轻松地利用预建模块,而且不会影响可见性。这种非侵入性也使得与其他TF的包装器如TF-Slim和Keras合并成为了可能。并且开发小组认为,灵活性不会影响性能。
Tensorlayer环境搭建(CPU版)
- conda 4.4.10
- python 3.5
- opencv 3.2.0
- tensorflow 1.7.0
- tensorlayer 源码安装
安装步骤
查看conda环境
代码语言:javascript复制conda env list
#或者
conda info -e
新建conda虚拟环境(tensorlayer)
代码语言:javascript复制conda create -n tensorlayer python=3.5 ipykernel
进入搭建的tensorlayer环境
代码语言:javascript复制source activate tensorlayer
安装tensoflow1.7.0
采用清华的镜像源进行安装(CPU版) 网址:https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/
代码语言:javascript复制pip install
-i https://pypi.tuna.tsinghua.edu.cn/simple/
https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.7.0-cp35-cp35m-linux_x86_64.whl
安装opencv3
代码语言:javascript复制conda install -c https://conda.anaconda.org/menpo opencv3
下载并安装tensorlayer
代码语言:javascript复制git clone https://github.com/tensorlayer/tensorlayer.git
cd tensorlayer
pip install -e .
Jupyter notebook加载虚拟环境
代码语言:javascript复制#一定要在虚拟环境中!!
source activate tensorlayer
python -m ipykernel install --user --name tensorlayer --display-name "Python (tensorlayer)"
测试
代码语言:javascript复制python
>>> import tensorflow
>>> import tensorlayer
参考
新工具——TensorLayer:管理深度学习项目的复杂性 https://yq.aliyun.com/articles/158384