text: Title: TensorLayer 2.0
  Body: # NETWORK API REFACTORING - TO DO LIST
  
  ## [Design Docs](https://github.com/luomai/tensorlayer2-design/issues/7)
  ## [Refactoring Codes](https://github.com/zsdonghao/tensorlayer2)
  
  Dear Contributors,
  
  @DEKHTIARJonathan @akaraspt @luomai @lgarithm @JingqingZ @fangde etal.
  
  As we discussed previously, TensorLayer 2.0 should support both eager and graph mode. The new API design is here https://github.com/luomai/tensorlayer2-design/issues/7
  
  To make the refactoring faster, I simply fork tensorlayer/tensorlayer into zsdonghao/tensorlayer2: https://github.com/zsdonghao/tensorlayer2 , we can merge the branch back to tensorlayer/tensorlayer when the refactoring is finished. In doing so, the contributions will be in may commits rather than only 1.
  
  # Work to be done
  
  ## Layers
  - [x] **core.py:**
    * Layer:
      - [x] refactored @JingqingZ 2019/01/28
      - [x] tested @JingqingZ  2019/01/31 2019/03/06
      - [x] documentation @JingqingZ 2019/03/06
    * ModelLayer:
      - [x] created @JingqingZ 2019/01/28
      - [x] tested @JingqingZ 2019/03/06
      - [x] documentation @JingqingZ 2019/03/06
    * LayerList:
      - [x] created @JingqingZ 2019/01/28 @ChrisWu1997 
      - [x] tested @JingqingZ 2019/03/06
      - [x] documentation @JingqingZ 2019/03/06
    * LayerNode:
      - [x] created @ChrisWu1997 
      - [x] tested @ChrisWu1997 2019/03/22
      - [x] documentation @ChrisWu1997 2019/03/22
  - [x] **activation.py:**
    * PRelu:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/20
      - [x] tested @JingqingZ 2019/03/20
      - [x] documentation @JingqingZ 2019/03/20
    * PRelu6:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/20
      - [x] tested  @JingqingZ 2019/03/20
      - [x] documentation @JingqingZ 2019/03/20
    * PTRelu6:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/20
      - [x] tested @JingqingZ 2019/03/20
      - [x] documentation @JingqingZ 2019/03/20
  - **convolution/**  
    *  AtrousConv1dLayer,  AtrousConv2dLayer and AtrousDeConv2d are removed, use Conv1d/2d and DeConv2d with `dilation_rate` instead.  (🀄️remember to change CN docs)
    * BinaryConv2d:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @warshallrho 2019/03/16
      - [x] documentation @warshallrho 2019/03/20
    * Conv1d:
      - [x] refactored @zsdonghao 2019/01/16
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * Conv2d:
      - [x] refactored @zsdonghao 2019/01/16 
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * Conv3d:
      - [x] add  @zsdonghao 2019/01/16  : (🀄️remember to change CN docs)
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * Conv1dLayer:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * Conv2dLayer:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * Conv3dLayer:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * DeConv1dLayer:
      - [x] refactored @warshallrho 2019/03/16
      - [x] tested @warshallrho 2019/03/16
      - [x] documentation @warshallrho 2019/03/17
    * DeConv2dLayer:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * DeConv3dLayer:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * DeConv2d:
      - [x] refactored @zsdonghao 2019/01/16 
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * DeConv3d:
      - [x] refactored @zsdonghao 2019/01/16 
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/17
    * DeformableConv2d:
      - [x] refactored @warshallrho 2019/03/18
      - [x] tested @warshallrho 2019/03/18
      - [x] documentation @warshallrho 2019/03/18
    * DepthwiseConv2d:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @warshallrho 2019/03/15
      - [x] documentation @warshallrho 2019/03/18
    * DorefaConv2d:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/20
    * GroupConv2d:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/20
    * QuanConv2d:
      - [x] refactored  @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/20
    * QuanConv2dWithBN:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
    * SeparableConv1d:
      - [x] refactored @zsdonghao 2019/01/16 
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/18
    * SeparableConv2d:
      - [x] refactored @zsdonghao 2019/01/16 
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/18
    * SubpixelConv1d:
      - [x] refactored    @zsdonghao 2018/12/05 @warshallrho 2019/03/18
      - [x] tested @warshallrho 2019/03/18
      - [x] documentation @warshallrho 2019/03/18
    * SubpixelConv2d:
      - [x] refactored    @zsdonghao 2018/12/05 @warshallrho 2019/03/18
      - [x] tested @warshallrho 2019/03/18
      - [x] documentation @warshallrho 2019/03/18
    * TernaryConv2d:
      - [x] refactored  @zsdonghao 2018/12/06
      - [x] tested @warshallrho 2019/03/17
      - [x] documentation @warshallrho 2019/03/20
  - **dense/**  [WIP] @ChrisWu1997 
    * BinaryDense:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @ChrisWu1997 2019/04/23 _need further test by example_
      - [x] documentation @ChrisWu1997 2019/04/23
    * Dense:
      - [x] refactored    @zsdonghao 2018/12/04 @JingqingZ 2019/01/28
      - [x] tested @JingqingZ  2019/01/31 2019/03/06 2019/03/15
      - [x] documentation  @JingqingZ 2019/03/15
    * DorefaDense:
      - [x] refactored   @zsdonghao 2018/12/04
      - [x] tested @ChrisWu1997 2019/04/23 _need further test by example_
      - [x] documentation @ChrisWu1997 2019/04/23
    * DropconnectDense:
      - [x] refactored @zsdonghao 2018/12/05
      - [x] tested @ChrisWu1997 2019/04/23 _need further test by example_
      - [x] documentation @ChrisWu1997 2019/04/23
    * QuanDense:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @ChrisWu1997 2019/04/23 _need further test by example_
      - [x] documentation @ChrisWu1997 2019/04/23
    * QuanDenseWithBN:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
    * TernaryDense:
      - [x] refactored @zsdonghao 2018/12/06
      - [x] tested @ChrisWu1997 2019/04/23 _need further test by example_
      - [x] documentation @ChrisWu1997 2019/04/23
  - **dropout.py**
    * Dropout:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/01/28
      - [x] tested @JingqingZ  2019/01/31 2019/03/06 2019/03/15
      - [x] documentation  @JingqingZ 2019/03/15
  - **extend.py**
    * ExpandDims:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
    * Tile:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
  - **image_resampling.py**
    * UpSampling2d: 
      - [x] refactored    @zsdonghao 2018/12/04 @ChrisWu1997 2019/04/03
      - [x] tested  @ChrisWu1997 2019/04/03
      - [x] documentation   @ChrisWu1997 2019/04/03
    * DownSampling2d:
      - [x] refactored    @zsdonghao 2018/12/04 @ChrisWu1997 2019/04/03
      - [x] tested   @ChrisWu1997 2019/04/03
      - [x] documentation @ChrisWu1997 2019/04/03
  - **importer.py**
    * SlimNets:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
    * Keras:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
  - **inputs.py**
    * Input:   
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/01/28
      - [x] tested @JingqingZ 2019/03/06
      - [x] documentation @JingqingZ 2019/03/06
  - **embedding.py**
    * OneHotInput:    --> OneHot (🀄️remember to change CN docs)
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/02/23
      - [x] tested @JingqingZ 2019/03/19
      - [x] documentation @JingqingZ 2019/03/19
    * Word2vecEmbeddingInput:   --> Word2vecEmbedding (🀄️remember to change CN docs)
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/02/21
      - [x] tested @JingqingZ 2019/03/19
      - [x] documentation @JingqingZ 2019/03/19
    * EmbeddingInput:     --> Embedding
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/02/22
      - [x] tested @JingqingZ 2019/03/19
      - [x] documentation @JingqingZ 2019/03/19
    * AverageEmbeddingInput:   --> AverageEmbedding (🀄️remember to change CN docs)
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/02/20
      - [x] tested @JingqingZ 2019/03/19
      - [x] documentation @JingqingZ 2019/03/19
  - **lambda_layers.py**
    * ElementwiseLambda:
      - [x] refactored @JingqingZ 2019/03/24
      - [x] tested @JingqingZ 2019/03/24
      - [x] documentation @JingqingZ 2019/03/24
    * Lambda:   
      - [x] refactored  @JingqingZ 2019/03/24
      - [x] tested @JingqingZ 2019/03/24
      - [x] documentation @JingqingZ 2019/03/24
  - **merge.py**
    * Concat:   
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @JingqingZ 2019/03/15
      - [x] documentation  @JingqingZ 2019/03/15
    * Elementwise:
      - [x] refactored @zsdonghao 2018/12/04  @JingqingZ 2019/03/15
      - [x] tested  @JingqingZ 2019/03/15
      - [x] documentation  @JingqingZ 2019/03/15
  - **noise.py**
    * GaussianNoise:   
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @warshallrho 2019/03/20
      - [x] documentation @warshallrho 2019/03/20
  - **normalization.py**
    * BatchNorm:   
      - [x] refactored @ChrisWu1997 2019/01/22 @ChrisWu1997 2019/03/05
      - [x] tested @ChrisWu1997 2019/03/22
      - [x] documentation @ChrisWu1997 2019/03/22
    * BatchNorm1d:   
      - [x] refactored @ChrisWu1997 2019/03/05
      - [x] tested @ChrisWu1997 2019/03/22
      - [x] documentation @ChrisWu1997 2019/03/22
    * BatchNorm2d:   
      - [x] refactored @ChrisWu1997 2019/03/05
      - [x] tested @ChrisWu1997 2019/03/22
      - [x] documentation @ChrisWu1997 2019/03/22
    * BatchNorm3d:   
      - [x] refactored @ChrisWu1997 2019/03/05
      - [x] tested @ChrisWu1997 2019/03/22
      - [x] documentation @ChrisWu1997 2019/03/22
    * GroupNorm:
      - [x] refactored @zsdonghao 2018/12/05
      - [ ] tested
      - [ ] documentation
    * InstanceNorm:   
      - [x] refactored @zsdonghao 2018/12/05
      - [ ] tested
      - [ ] documentation
    * LayerNorm:   
      - [x] refactored @ChrisWu1997 2019/01/23
      - [ ] tested
      - [ ] documentation
    * LocalResponseNorm:   
      - [x] refactored @zsdonghao 2018/12/05
      - [ ] tested
      - [ ] documentation
    * SwitchNorm:   
      - [x] refactored @zsdonghao 2018/12/05
      - [ ] tested
      - [ ] documentation
  - **padding.py**
    * PadLayer:   
      - [x] refactored  @zsdonghao 2018/12/04
      - [x] tested @warshallrho 2019/03/21
      - [x] documentation @warshallrho 2019/03/21
    * ZeroPad1d:   
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @warshallrho 2019/03/21
      - [x] documentation @warshallrho 2019/03/21
    * ZeroPad2d:   
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @warshallrho 2019/03/21
      - [x] documentation @warshallrho 2019/03/21
    * ZeroPad3d:  
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @warshallrho 2019/03/21
      - [x] documentation @warshallrho 2019/03/21
  - **pooling/**
      * MaxPool1d:  
        - [x] refactored @zsdonghao 2019/01/08
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * MaxPool2d:  
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * MaxPool3d:  
        - [x] refactored @zsdonghao 2019/01/08
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * MeanPool1d:  
        - [x] refactored @zsdonghao 2019/01/08
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * MeanPool2d:  
        - [x] refactored @zsdonghao 2019/01/08
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * MeanPool3d:  
        - [x] refactored @zsdonghao 2019/01/08
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/19
      * GlobalMaxPool1d:
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * GlobalMaxPool2d:  
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * GlobalMaxPool3d:  
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * GlobalMeanPool1d:  
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * GlobalMeanPool2d:
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * GlobalMeanPool3d:
        - [x] refactored @zsdonghao 2018/12/06
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/15
      * PoolLayer:
        - [x] refactored @zsdonghao 2018/12/04
        - [x] tested @warshallrho 2019/03/15
        - [x] documentation @warshallrho 2019/03/18
  - **quantize_layers.py**
    * Sign:
      - [x] refactored
      - [ ] tested
      - [ ] documentation
  - **recurrent/**
    * BiRNN:
      - [x] refactored @JingqingZ 2019/04/08
      - [x] tested @JingqingZ 2019/04/08
      - [x] documentation @JingqingZ 2019/04/08
    * ConvLSTM:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
    * RNN:
      - [x] refactored @JingqingZ 2019/03/31
      - [x] tested @JingqingZ 2019/03/31
      - [x] documentation @JingqingZ 2019/03/31
    * Seq2Seq:
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
  - **shape.py**
    * Flatten: 
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
    * Reshape:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
    * Transpose:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
  - **scale.py**
    * Scale:
      - [x] refactored @zsdonghao 2018/12/04 @JingqingZ 2019/03/22
      - [x] tested @JingqingZ 2019/03/22
      - [x] documentation @JingqingZ 2019/03/22
  - **contrib**
    * ROIPooling:   
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
  - **spatial_transformer.py**
    * SpatialTransformer2dAffine:   see **test_layers_spatial_transformer.py**
      - [ ] refactored
      - [ ] tested
      - [ ] documentation
  - **stack.py** [WIP] @ChrisWu1997 
    * Stack:
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @ChrisWu1997 2019/04/23
      - [x] documentation @ChrisWu1997 2019/04/23
    * UnStack: 
      - [x] refactored @zsdonghao 2018/12/04
      - [x] tested @ChrisWu1997 2019/04/23
      - [x] documentation @ChrisWu1997 2019/04/23
  - **time_distribution.py** **Remove, as eager mode support this feature** (🀄️remember to change CN docs)
    * TimeDistributed:
  
  ## tl.models
  - **core.py**
    * Model:
      - [x] refactored @JingqingZ 2019/01/28 @ChrisWu1997 2019/02/16 2019/02/22
      - [x] tested @ChrisWu1997 2019/03/21
      - [x] documentation @ChrisWu1997 2019/03/21
  - **vgg.py**
    * vgg:
      - [x] refactored @warshallrho 2019/02/19
      - [ ] tested
      - [x] documentation @warshallrho 2019/03/21  @ChrisWu1997 2019/03/21
    * vgg16:
      - [x] refactored @warshallrho 2019/02/19
      - [ ] tested
      - [x] documentation @warshallrho 2019/03/21  @ChrisWu1997 2019/03/21
    * vgg19:
      - [x] refactored @warshallrho 2019/03/09
      - [ ] tested
      - [x] documentation @warshallrho 2019/03/21  @ChrisWu1997 2019/03/21
  - **mobilenetv1.py**
    * MobileNet:
      - [x] refactored @ChrisWu1997 2019/04/23
      - [x] tested @ChrisWu1997 2019/04/23
      - [x] documentation @ChrisWu1997 2019/04/23
    * SqueezeNet:
      - [x] refactored @ChrisWu1997 2019/04/23
      - [x] tested @ChrisWu1997 2019/04/23
      - [x] documentation @ChrisWu1997 2019/04/23
  
  ## Examples
  - basic_tutorials
      Too many basic tutorials, some codes can be removed.
      - [x] Static model example MNIST @JingqingZ 2019/01/28 2019/03/24
      - [x] Dynamic model example MNIST @JingqingZ 2019/01/28 2019/03/24
      - [x] Static model example CIFAR10 (with dataset API) @ChrisWu1997 2019/03/24
      - [x] Siamese example MNIST @ChrisWu1997 2019/03/26
      - tutorial_mnist_float16.py removed by @ChrisWu1997 
      - tutorial_mnist_simple.py removed by @ChrisWu1997 
  - data_process
      - tutorial_fast_affine_transform.py
          - [x] refactored @ChrisWu1997 2019/04/11
          - [x] tested @ChrisWu1997 2019/04/11
      - tutorial_image_preprocess.py  removed by @zsdonghao
      - tutorial_tf_dataset_voc.py
          - [x] refactored @ChrisWu1997 2019/04/11
          - [x] tested @ChrisWu1997 2019/04/11
      - tutorial_tfrecord.py
          - [x] refactored @ChrisWu1997 2019/04/11
          - [x] tested @ChrisWu1997 2019/04/11
      - tutorial_tfrecord2.py
          - [x] refactored @ChrisWu1997 2019/04/11
          - [x] tested @ChrisWu1997 2019/04/11
      - tutorial_tfrecord3.py
          - [ ] refactored
          - [ ] tested
  - database
      - [ ] refactored
      - [ ] tested
  - distributed_training
      - tutorial_cifar10_distributed_trainer.py
          - [ ] refactored
          - [ ] tested
      - tutorial_mnist_distributed_trainer.py
          - [ ] refactored
          - [ ] tested
  - keras_tfslim
      - tutorial_keras.py
          - [x] refactored @ChrisWu1997 2019/04/11
          - [x] tested @ChrisWu1997 2019/04/11
      - tutorial_tfslim.py removed by @ChrisWu1997 
  - pretrained_cnn
      - tutorial_inceptionV3_tfslim.py
      - tutorial_mobilenet.py  removed by @ChrisWu1997 2019/04/23
      - tutorial_models_mobilenetv1.py
          - [x] refactored @ChrisWu1997 2019/04/23
          - [x] tested @ChrisWu1997 2019/04/23
      - tutorial_models_squeezenetv1.py
          - [x] refactored @ChrisWu1997 2019/04/23
          - [x] tested @ChrisWu1997 2019/04/23
      - tutorial_models_vgg.py
          - [x] refactored @warshallrho 2019/04/30
          - [ ] tested
      - tutorial_models_vgg_static.py
          - [x] refactored @warshallrho 2019/04/30
          - [ ] tested
      - tutorial_models_vgg16.py
          - [x] refactored @warshallrho 2019/02/19
          - [ ] tested
      - tutorial_models_vgg19.py
          - [x] refactored @warshallrho 2019/03/09
          - [ ] tested
      - tutorial_squeezenet.py  removed by @ChrisWu1997 2019/04/23
      - tutorial_vgg16.py  removed by @warshallrho 2019/04/30
      - tutorial_vgg19.py  removed by @warshallrho 2019/04/30
  - quantized_net
      - tutorial_binarynet_cifar10_tfrecord.py
          - [x] refactored
          - [x] tested
      - tutorial_binarynet_mnist_cnn.py
          - [x] refactored
          - [x] tested
      - tutorial_dorefanet_cifar10_tfrecord.py
          - [x] refactored
          - [x] tested
      - tutorial_dorefanet_mnist_cnn.py
          - [x] refactored
          - [x] tested
      - tutorial_quanconv_cifar10.py
          - [x] refactored
          - [x] tested
      - tutorial_quanconv_mnist.py
          - [x] refactored
          - [x] tested
      - tutorial_ternaryweight_cifar10_tfrecord.py
          - [x] refactored
          - [x] tested
      - tutorial_ternaryweight_mnist_cnn.py
          - [x] refactored
          - [x] tested
  - reinforcement_learning
      - tutorial_atari_pong.py @zsdonghao 2019/01/21
          - [x] refactored
          - [x] tested
      - tutorial_bipedalwalker_a3c_continuous_action.py
          - [ ] refactored
          - [ ] tested
      - tutorial_cartpole_ac.py @zsdonghao 2019/02/17
          - [x] refactored
          - [x] tested
      - tutorial_frozenlake_dqn.py  @zsdonghao 2019/02/16
          - [x] refactored
          - [x] tested
      - tutorial_frozenlake_q_table.py @zsdonghao 2019/02/16
          - [x] refactored
          - [x] tested
  - text_classification 
      - tutorial_imdb_fasttext.py @JingqingZ 2019/03/14
          - [x] refactored
          - [x] tested
  - text_generation
      - tutorial_generate_text.py
          - [ ] refactored
          - [ ] tested
  - text_ptb
      Are they duplicated?
      - tutorial_ptb_lstm_state_is_tuple.py
          - [ ] refactored
          - [ ] tested
      - tutorial_ptb_lstm.py
          - [ ] refactored
          - [ ] tested
  - text_word_embedding 
      - tutorial_word2vec_basic.py @JingqingZ 2019/02/21 2019/03/19
          - [x] refactored
          - [x] tested
  
  ## Others
  - tl.activation.py
     - [x] refactored @JingqingZ 2019/03/06
     - [x] tested @JingqingZ 2019/03/06
     - [x] documentation @JingqingZ 2019/03/06
  - tl.cli
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.decorators
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.logging
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.optimizers
     - [ ] refactored 
  - tl.third_party
     - [ ] refactored 
  - tl.array_ops
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.cost
     - [x] refactored @ChrisWu1997  2019/04/12
     - [x] documentation @ChrisWu1997  2019/04/12
  - tl.db [WIP] @ChrisWu1997 
     - [ ] refactored 
  - tl.distributed
     - [ ] refactored 
  - tl.initializers
     - [x] refactored @ChrisWu1997  2019/04/12
     - [x] tested @ChrisWu1997  2019/04/12
     - [x] documentation @ChrisWu1997  2019/04/12
  - tl.iterate
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.lazy_imports
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  - tl.nlp @OliverZijia @JingqingZ 
     - [x] refactored 
  - tl.package_info
     - [ ] refactored 
  - tl.prepro 
     - [x] refactored @ChrisWu1997  2019/04/11
  - tl.rein
     - [ ] refactored 
  - tl.utils
     - [x] refactored @ChrisWu1997 2019/04/17
     - [x] tested _by `tutorial_mnist_simple.py`_ @ChrisWu1997 2019/04/17
     - [x] documentation @ChrisWu1997 2019/04/17
  - tl.visualize
     - [x] refactored _no update needed_ @ChrisWu1997 2019/04/12
  
  ## Unittests Status:
  - performance_test
      - VGG @JingqingZ @ChrisWu1997 @warshallrho 2019/03/20
  - layers
      - test_layernode.py @ChrisWu1997 2019/03/22
      - test_layers_activation.py @JingqingZ 2019/03/20
      - test_layers_convolution.py (1d, 2d, 3d) @warshallrho 2019/03/20 
      - test_layers_core_basedense_dropout.py @JingqingZ 2019/03/06
      - test_layers_convolution_deformable.py @warshallrho 2019/03/18
      - test_layers_embedding.py @JingqingZ 2019/03/19
      - test_layers_extend.py @JingqingZ 2019/03/22
      - test_layers_lambda.py @JingqingZ 2019/03/24
      - test_layers_merge.py @JingqingZ 2019/03/15
      - test_layers_noise.py @warshallrho 2019/03/21
      - test_layers_padding.py @warshallrho 2019/03/21
      - test_layers_pooling.py @warshallrho 2019/03/18
      - test_layers_recurrent.py @JingqingZ 2019/03/06
      - test_layers_scale.py @JingqingZ 2019/03/22
      - test_layers_shape.py @JingqingZ 2019/03/22
  - test_activations.py @JingqingZ 2019/03/06
  - models
      - test_model_save_graph.py @warshallrho 2019/04/30
  
  ## Unittests Status (Pending):
  Some testing codes can be removed.
  - test_array_ops.py
  - test_decorators.py
  - test_documentation.py
  - test_layers_basic.py
  - test_layers_flow_control.py  **removed** in favour of eager mode  @zsdonghao 2018/12/04 (🀄️remember to change CN docs)
  - test_layers_importer.py
  - test_layers_normalization.py
  - test_layers_padding.py
  - test_layers_spatial_transformer.py
  - test_layers_stack.py
  - test_layers_super_resolution.py
  - test_layers_time_distributed.py
  - test_logging.py
  - test_logging_hyperdash.py
  - test_mnist_simple.py
  - test_model_compilednetwork.py
  - test_models.py
  - test_network_custom_2d.py
  - test_network_custom_input_layers.py
  - test_network_custom_multiple_inputs.py
  - test_network_custom_multiple_outputs.py
  - test_network_sequential_1d.py
  - test_network_sequential_2d.py
  - test_network_sequential_3d.py
  - test_network_sequential_rnn.py
  - test_optimizer_amsgrad.py
  - test_pydocstyle.py
  - test_reuse_mlp.py
  - test_tf_layers.py
  - test_timeout.py
  - test_utils_predict.py
  - test_yapf_format.py
  
  
  ## tl.files
  
  All save/load methods are also wrapped as class method in model core.
  - save_hdf5_graph
      - [x] created @warshallrho 2019/04/27
      - [x] tested @warshallrho 2019/04/27
      - [x] documentation @warshallrho 2019/04/27
  - load_hdf5_graph
      - [x] created @warshallrho 2019/04/27
      - [x] tested @warshallrho 2019/04/27
      - [x] documentation @warshallrho 2019/04/27
  - save_weights_to_hdf5
      - [x] created
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - load_hdf5_to_weights_in_order
      - [x] created
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - load_hdf5_to_weights
      - [x] created
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - save_npz([save_list, name, sess])  @ChrisWu1997  2019/02/21 --> save_npz([save_list, name]) @ChrisWu1997  2019/03/21
      - [x] refactored
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - load_npz([path, name])  @ChrisWu1997  2019/02/21
      - [x] refactored
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - assign_params(sess, params, network)  --> assign_weights (🀄️remember to change CN docs) @ChrisWu1997  2019/02/22
      - [x] refactored
      - [ ] tested
  - load_and_assign_npz([sess, name, network])  @ChrisWu1997  2019/02/21 --> load_and_assign_npz([name, network]) @ChrisWu1997 2019/03/21
      - [x] refactored
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - save_npz_dict([save_list, name, sess])  @ChrisWu1997  2019/02/22 --> save_npz_dict([save_list, name])  @ChrisWu1997 2019/03/21
      - [x] refactored
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - load_and_assign_npz_dict([name, sess]) --> ([name, network]) @ChrisWu1997 2019/03/21
      - [x] refactored
      - [x] tested @ChrisWu1997 2019/03/26
      - [x] documentation @ChrisWu1997 2019/03/26
  - save_ckpt([sess, mode_name, save_dir, …])   @ChrisWu1997  2019/02/22
      - [x] refactored
      - [ ] tested
  - load_ckpt([sess, mode_name, save_dir, …])  @ChrisWu1997  2019/02/22
      - [x] refactored
      - [ ] tested