tensorlayer3/CHANGELOG.md

23 KiB
Raw Permalink Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

Added

Changed

Dependencies Update

Deprecated

Fixed

Removed

Security

Contributors

2.2.3 - 2020-06-18

TensorLayer 2.2.3 is a maintenance release. It contains numerous bug fixes.

Added

Changed

Dependencies Update

Deprecated

Fixed

  • Fix VGG. (#1078, 1079, 1089)
  • Fix norm layer. (#1080)
  • Fix DeCov2d layer. (#1081)
  • Fix ModelLayer and LayerList doc. (#1083)
  • Fix bug in SAC. (#1085)
  • Fix refactoring: Deduplication. (#1086)
  • Fix maxpool, batchnorm Data format fixed, vgg forward. (#1089)
  • Fix package info. (#1090)

Removed

Security

Contributors

  • @zsdonghao
  • @tiancheng2000 (#1078 #1079 #1080 #1081)
  • @ChrisWu1997 (#1083)
  • @quantumiracle (#1085)
  • @marload (#1086)
  • @Gyx-One (#1089)
  • @Laicheng0830 (#1090)

2.2.2 - 2020-04-26

TensorLayer 2.2.2 is a maintenance release.

Added

  • Reinforcement learning(#1065)
  • Mish activation(#1068)

Changed

Dependencies Update

Deprecated

Fixed

  • Fix README.
  • Fix package info.

Removed

Security

Contributors

  • @zsdonghao
  • @quantumiracle(1065)
  • @Laicheng0830(#1068)

2.2.1 - 2020-01-14

TensorLayer 2.2.1 is a maintenance release. It contains numerous bug fixes.

Added

Changed

Dependencies Update

Deprecated

Fixed

  • Fix README. (#1044)
  • Fix package info. (#1046)
  • Fix build test (Using YAPF 0.29) (#1057)

Removed

Security

Contributors

  • @luomai (#1044, #1046, #1057)

2.2.0 - 2019-09-13

TensorLayer 2.2.0 is a maintenance release. It contains numerous API improvement and bug fixes. This release is compatible with TensorFlow 2 RC1.

Added

  • Support nested layer customization (#PR 1015)
  • Support string dtype in InputLayer (#PR 1017)
  • Support Dynamic RNN in RNN (#PR 1023)
  • Add ResNet50 static model (#PR 1030)
  • Add performance test code in static model (#PR 1041)

Changed

  • SpatialTransform2dAffine auto in_channels
  • support TensorFlow 2.0.0-rc1
  • Update model weights property, now returns its copy (#PR 1010)

Fixed

  • RNN updates: remove warnings, fix if seq_len=0, unitest (#PR 1033)
  • BN updates: fix BatchNorm1d for 2D data, refactored (#PR 1040)

Dependencies Update

Deprecated

Fixed

  • Fix tf.models.Model._construct_graph for list of outputs, e.g. STN case (PR #1010)
  • Enable better in_channels exception raise. (PR #1015)
  • Set allow_pickle=True in np.load() (#PR 1021)
  • Remove private_method decorator (#PR 1025)
  • Copy original model's trainable_weights and nontrainable_weights when initializing ModelLayer (#PR 1026)
  • Copy original model's trainable_weights and nontrainable_weights when initializing LayerList (#PR 1029)
  • Remove redundant parts in model.all_layers (#PR 1029)
  • Replace tf.image.resize_image_with_crop_or_pad with tf.image.resize_with_crop_or_pad (#PR 1032)
  • Fix a bug in ResNet50 static model (#PR 1041)

Removed

Security

Contributors

  • @zsdonghao
  • @luomai
  • @ChrisWu1997: #1010 #1015 #1025 #1030 #1040
  • @warshallrho: #1017 #1021 #1026 #1029 #1032 #1041
  • @ArnoldLIULJ: #1023
  • @JingqingZ: #1023

2.1.0

Changed

  • Add version_info in model.config. (PR #992)
  • Replace tf.nn.func with tf.nn.func.__name__ in model config. (PR #994)
  • Add Reinforcement learning tutorials. (PR #995)
  • Add RNN layers with simple rnn cell, GRU cell, LSTM cell. (PR #998)
  • Update Seq2seq (#998)
  • Add Seq2seqLuongAttention model (#998)

Fixed

Contributors

  • @warshallrho: #992 #994
  • @quantumiracle: #995
  • @Tokarev-TT-33: #995
  • @initial-h: #995
  • @Officium: #995
  • @ArnoldLIULJ: #998
  • @JingqingZ: #998

2.0.2 - 2019-6-5

Changed

  • change the format of network config, change related code and files; change layer act (PR #980)

Fixed

  • Fix dynamic model cannot track PRelu weights gradients problem (PR #982)
  • Raise .weights warning (commit)

Contributors

  • @warshallrho: #980
  • @1FengL: #982

2.0.1 - 2019-5-17

A maintain release.

Changed

  • remove tl.layers.initialize_global_variables(sess) (PR #931)
  • support trainable_weights (PR #966)

Added

  • Layer
    • InstanceNorm, InstanceNorm1d, InstanceNorm2d, InstanceNorm3d (PR #963)
  • Reinforcement learning tutorials. (PR #995)

Changed

  • remove tl.layers.initialize_global_variables(sess) (PR #931)
  • update tutorial_generate_text.py, tutorial_ptb_lstm.py. remove tutorial_ptb_lstm_state_is_tuple.py (PR #958)
  • change tl.layers.core, tl.models.core (PR #966)
  • change weights into all_weights, trainable_weights, nontrainable_weights

Dependencies Update

  • nltk>=3.3,<3.4 => nltk>=3.3,<3.5 (PR #892)
  • pytest>=3.6,<3.11 => pytest>=3.6,<4.1 (PR #889)
  • yapf>=0.22,<0.25 => yapf==0.25.0 (PR #896)
  • imageio==2.5.0 progressbar2==3.39.3 scikit-learn==0.21.0 scikit-image==0.15.0 scipy==1.2.1 wrapt==1.11.1 pymongo==3.8.0 sphinx==2.0.1 wrapt==1.11.1 opencv-python==4.1.0.25 requests==2.21.0 tqdm==4.31.1 lxml==4.3.3 pycodestyle==2.5.0 sphinx==2.0.1 yapf==0.27.0(PR #967)

Fixed

  • fix docs of models @zsdonghao #957
  • In BatchNorm, keep dimensions of mean and variance to suit channels first (PR #963)

Contributors

  • @warshallrho: #PR966
  • @zsdonghao: #931
  • @yd-yin: #963
  • @Tokarev-TT-33: # 995
  • @initial-h: # 995
  • @quantumiracle: #995
  • @Officium: #995
  • @1FengL: #958
  • @dvklopfenstein: #971

2.0.0 - 2019-05-04

To many PR for this update, please check here for more details.

Changed

  • update for TensorLayer 2.0.0 alpha version (PR #952)
  • support TensorFlow 2.0.0-alpha
  • support both static and dynamic model building

Dependencies Update

  • tensorflow>=1.6,<1.13 => tensorflow>=2.0.0-alpha (PR #952)
  • h5py>=2.9 (PR #952)
  • cloudpickle>=0.8.1 (PR #952)
  • remove matplotlib

Contributors

  • @zsdonghao
  • @JingqingZ
  • @ChrisWu1997
  • @warshallrho

1.11.1 - 2018-11-15

Changed

  • guide for pose estimation - flipping (PR #884)
  • cv2 transform support 2 modes (PR #885)

Dependencies Update

  • pytest>=3.6,<3.9 => pytest>=3.6,<3.10 (PR #874)
  • requests>=2.19,<2.20 => requests>=2.19,<2.21 (PR #874)
  • tqdm>=4.23,<4.28 => tqdm>=4.23,<4.29 (PR #878)
  • pytest>=3.6,<3.10 => pytest>=3.6,<3.11 (PR #886)
  • pytest-xdist>=1.22,<1.24 => pytest-xdist>=1.22,<1.25 (PR #883)
  • tensorflow>=1.6,<1.12 => tensorflow>=1.6,<1.13 (PR #886)

Contributors

  • @zsdonghao: #884 #885

1.11.0 - 2018-10-18

Added

  • Layer:
    • Release GroupNormLayer (PR #850)
  • Image affine transformation APIs
    • affine_rotation_matrix (PR #857)
    • affine_horizontal_flip_matrix (PR #857)
    • affine_vertical_flip_matrix (PR #857)
    • affine_shift_matrix (PR #857)
    • affine_shear_matrix (PR #857)
    • affine_zoom_matrix (PR #857)
    • affine_transform_cv2 (PR #857)
    • affine_transform_keypoints (PR #857)
  • Affine transformation tutorial
    • examples/data_process/tutorial_fast_affine_transform.py (PR #857)

Changed

  • BatchNormLayer: support data_format

Dependencies Update

  • matplotlib>=2.2,<2.3 => matplotlib>=2.2,<3.1 (PR #845)
  • pydocstyle>=2.1,<2.2 => pydocstyle>=2.1,<3.1 (PR #866)
  • scikit-learn>=0.19,<0.20 => scikit-learn>=0.19,<0.21 (PR #851)
  • sphinx>=1.7,<1.8 => sphinx>=1.7,<1.9 (PR #842)
  • tensorflow>=1.6,<1.11 => tensorflow>=1.6,<1.12 (PR #853)
  • tqdm>=4.23,<4.26 => tqdm>=4.23,<4.28 (PR #862 & #868)
  • yapf>=0.22,<0.24 => yapf>=0.22,<0.25 (PR #829)

Fixed

  • Correct offset calculation in tl.prepro.transform_matrix_offset_center (PR #855)

Contributors

  • @2wins: #850 #855
  • @DEKHTIARJonathan: #853
  • @zsdonghao: #857
  • @luomai: #857

1.10.1 - 2018-09-07

Added

  • unittest tests\test_timeout.py has been added to ensure the network creation process does not freeze.

Changed

  • remove 'tensorboard' param, replaced by 'tensorboard_dir' in tensorlayer/utils.py with customizable tensorboard directory (PR #819)

Removed

  • TL Graph API removed. Memory Leaks Issues with this API, will be fixed and integrated in TL 2.0 (PR #818)

Fixed

  • Issue #817 fixed: TL 1.10.0 - Memory Leaks and very slow network creation.

Dependencies Update

  • autopep8>=1.3,<1.4 => autopep8>=1.3,<1.5 (PR #815)
  • imageio>=2.3,<2.4 => imageio>=2.3,<2.5 (PR #823)
  • pytest>=3.6,<3.8 => pytest>=3.6,<3.9 (PR #823)
  • pytest-cov>=2.5,<2.6 => pytest-cov>=2.5,<2.7 (PR #820)

Contributors

  • @DEKHTIARJonathan: #815 #818 #820 #823
  • @ndiy: #819
  • @zsdonghao: #818

1.10.0 - 2018-09-02

Added

  • API:
    • Add tl.model.vgg19 (PR #698)
    • Add tl.logging.contrib.hyperdash (PR #739)
    • Add tl.distributed.trainer (PR #700)
    • Add prefetch_buffer_size to the tl.distributed.trainer (PR #766)
    • Add tl.db.TensorHub (PR 751)
    • Add tl.files.save_graph (PR 751)
    • Add tl.files.load_graph_ (PR 751)
    • Add tl.files.save_graph_and_params (PR 751)
    • Add tl.files.load_graph_and_params (PR 751)
    • Add tl.prepro.keypoint_random_xxx (PR #787)
  • Documentation:
    • Add binary, ternary and dorefa links (PR #711)
    • Update input scale of VGG16 and VGG19 to 0~1 (PR #736)
    • Update database (PR 751)
  • Layer:
    • Release SwitchNormLayer (PR #737)
    • Release QuanConv2d, QuanConv2dWithBN, QuanDenseLayer, QuanDenseLayerWithBN (PR#735)
    • Update Core Layer to support graph (PR 751)
    • All Pooling layers support data_format (PR #809)
  • Setup:
    • Creation of installation flaggs all_dev, all_cpu_dev, and all_gpu_dev (PR #739)
  • Examples:
    • change folder struction (PR #802)
    • tutorial_models_vgg19 has been introduced to show how to use tl.model.vgg19 (PR #698).
    • fix bug of tutorial_bipedalwalker_a3c_continuous_action.py (PR #734, Issue #732)
    • tutorial_models_vgg16 and tutorial_models_vgg19 has been changed the input scale from [0,255] to [0,1](PR #710)
    • tutorial_mnist_distributed_trainer.py and tutorial_cifar10_distributed_trainer.py are added to explain the uses of Distributed Trainer (PR #700)
    • add tutorial_quanconv_cifar10.py and tutorial_quanconv_mnist.py (PR #735)
    • add tutorial_work_with_onnx.py(PR #775)
  • Applications:

Changed

  • function minibatches changed to avoid wasting samples.(PR #762)
  • all the input scale in both vgg16 and vgg19 has been changed the input scale from [0,255] to [0,1](PR #710)
  • Dockerfiles merged and refactored into one file (PR #747)
  • LazyImports move to the most top level imports as possible (PR #739)
  • some new test functions have been added in test_layers_convolution.py, test_layers_normalization.py, test_layers_core.py (PR #735)
  • documentation now uses mock imports reducing the number of dependencies to compile the documentation (PR #785)
  • fixed and enforced pydocstyle D210, D200, D301, D207, D403, D204, D412, D402, D300, D208 (PR #784)

Deprecated

  • tl.logging.warn has been deprecated in favor of tl.logging.warning (PR #739)

Removed

  • conv_layers() has been removed in both vgg16 and vgg19(PR #710)
  • graph API (PR #818)

Fixed

  • import error caused by matplotlib on OSX (PR #705)
  • missing import in tl.prepro (PR #712)
  • Dockerfiles import error fixed - issue #733 (PR #747)
  • Fix a typo in absolute_difference_error in file: tensorlayer/cost.py - Issue #753 (PR #759)
  • Fix the bug of scaling the learning rate of trainer (PR #776)
  • log error instead of info when npz file not found. (PR #812)

Dependencies Update

  • numpy>=1.14,<1.15 => numpy>=1.14,<1.16 (PR #754)
  • pymongo>=3.6,<3.7 => pymongo>=3.6,<3.8 (PR #750)
  • pytest>=3.6,<3.7 => tqdm>=3.6,<3.8 (PR #798)
  • pytest-xdist>=1.22,<1.23 => pytest-xdist>=1.22,<1.24 (PR #805 and #806)
  • tensorflow>=1.8,<1.9 => tensorflow>=1.6,<1.11 (PR #739 and PR #798)
  • tqdm>=4.23,<4.25 => tqdm>=4.23,<4.26 (PR #798)
  • yapf>=0.21,<0.22 => yapf>=0.22,<0.24 (PR #798 #808)

Contributors

  • @DEKHTIARJonathan: #739 #747 #750 #754
  • @lgarithm: #705 #700
  • @OwenLiuzZ: #698 #710 #775 #776
  • @zsdonghao: #711 #712 #734 #736 #737 #700 #751 #809 #818
  • @luomai: #700 #751 #766 #802
  • @XJTUWYD: #735
  • @mutewall: #735
  • @thangvubk: #759
  • @JunbinWang: #796
  • @boldjoel: #787

1.9.1 - 2018-07-30

Fixed

  • Issue with tensorflow 1.10.0 fixed

1.9.0 - 2018-06-16

Added

  • API:

    • tl.alphas and tl.alphas_like added following the tf.ones/zeros and tf.zeros_like/ones_like (PR #580)
    • tl.lazy_imports.LazyImport to import heavy libraries only when necessary (PR #667)
    • tl.act.leaky_relu6 and tl.layers.PRelu6Layer have been deprecated (PR #686)
    • tl.act.leaky_twice_relu6 and tl.layers.PTRelu6Layer have been deprecated (PR #686)
  • CI Tool:

    • Stale Probot added to clean stale issues (PR #573)
    • Changelog Probot Configuration added (PR #637)
    • Travis Builds now handling a matrix of TF Version from TF==1.6.0 to TF==1.8.0 (PR #644)
    • CircleCI added to build and upload Docker Containers for each PR merged and tag release (PR #648)
  • Decorator:

    • tl.decorators API created including deprecated_alias and private_method (PR #660)
    • tl.decorators API enriched with protected_method (PR #675)
    • tl.decorators API enriched with deprecated directly raising warning and modifying documentation (PR #691)
  • Docker:

    • Containers for each release and for each PR merged on master built (PR #648)
    • Containers built in the following configurations (PR #648):
      • py2 + cpu
      • py2 + gpu
      • py3 + cpu
      • py3 + gpu
  • Documentation:

    • Clean README.md (PR #677)
    • Release semantic version added on index page (PR #633)
    • Optimizers page added (PR #636)
    • AMSGrad added on Optimizers page added (PR #636)
  • Layer:

    • ElementwiseLambdaLayer added to use custom function to connect multiple layer inputs (PR #579)
    • AtrousDeConv2dLayer added (PR #662)
    • Fix bugs of using tf.layers in CNN (PR #686)
  • Optimizer:

    • AMSGrad Optimizer added based on On the Convergence of Adam and Beyond (ICLR 2018) (PR #636)
  • Setup:

    • Creation of installation flaggs all, all_cpu, and all_gpu (PR #660)
  • Test:

    • test_utils_predict.py added to reproduce and fix issue #288 (PR #566)
    • Layer_DeformableConvolution_Test added to reproduce issue #572 with deformable convolution (PR #573)
    • Array_Op_Alphas_Test and Array_Op_Alphas_Like_Test added to test tensorlayer/array_ops.py file (PR #580)
    • test_optimizer_amsgrad.py added to test AMSGrad optimizer (PR #636)
    • test_logging.py added to insure robustness of the logging API (PR #645)
    • test_decorators.py added (PR #660)
    • test_activations.py added (PR #686)
  • Tutorials:

    • tutorial_tfslim has been introduced to show how to use SlimNetsLayer (PR #560).
    • add the following to all tutorials (PR #697):
      tf.logging.set_verbosity(tf.logging.DEBUG)
      tl.logging.set_verbosity(tl.logging.DEBUG)
      

Changed

  • Tensorflow CPU & GPU dependencies moved to separated requirement files in order to allow PyUP.io to parse them (PR #573)
  • The document of LambdaLayer for linking it with ElementwiseLambdaLayer (PR #587)
  • RTD links point to stable documentation instead of latest used for development (PR #633)
  • TF Version older than 1.6.0 are officially unsupported and raises an exception (PR #644)
  • README.md Badges Updated with Support Python and Tensorflow Versions (PR #644)
  • TL logging API has been consistent with TF logging API and thread-safe (PR #645)
  • Relative Imports changed for absolute imports (PR #657)
  • tl.files refactored into a directory with numerous files (PR #657)
  • tl.files.voc_dataset fixed because of original Pascal VOC website was down (PR #657)
  • extra requirements hidden inside the library added in the project requirements (PR #657)
  • requirements files refactored in requirements/ directory (PR #657)
  • README.md and other markdown files have been refactored and cleaned. (PR #639)
  • Ternary Convolution Layer added in unittest (PR #658)
  • Convolution Layers unittests have been cleaned & refactored (PR #658)
  • All the tests are now using a DEBUG level verbosity when run individualy (PR #660)
  • tf.identity as activation is ignored, thus reducing the size of the graph by removing useless operation (PR #667)
  • argument dictionaries are now checked and saved within the Layer Base Class (PR #667)
  • Layer Base Class now presenting methods to update faultlessly all_layers, all_params, and all_drop (PR #675)
  • Input Layers have been removed from tl.layers.core and added to tl.layers.inputs (PR #675)
  • Input Layers are now considered as true layers in the graph (they represent a placeholder), unittests have been updated (PR #675)
  • Layer API is simplified, with automatic feeding prev_layer into self.inputs (PR #675)
  • Complete Documentation Refactoring and Reorganization (namely Layer APIs) (PR #691)

Deprecated

  • tl.layers.TimeDistributedLayer argurment args is deprecated in favor of layer_args (PR #667)
  • tl.act.leaky_relu have been deprecated in favor of tf.nn.leaky_relu (PR #686)

Removed

  • assert() calls remove and replaced by raise AssertionError() (PR #667)
  • tl.identity is removed, not used anymore and deprecated for a long time (PR #667)
  • All Code specific to TF.__version__ < "1.6" have been removed (PR #675)

Fixed

  • Issue #498 - Deprecation Warning Fix in tl.layers.RNNLayer with inspect (PR #574)
  • Issue #498 - Deprecation Warning Fix in tl.files with truth value of an empty array is ambiguous (PR #575)
  • Issue #565 related to tl.utils.predict fixed - np.hstack problem in which the results for multiple batches are stacked along axis=1 (PR #566)
  • Issue #572 with tl.layers.DeformableConv2d fixed (PR #573)
  • Issue #664 with tl.layers.ConvLSTMLayer fixed (PR #676)
  • Typo of the document of ElementwiseLambdaLayer (PR #588)
  • Error in tl.layers.TernaryConv2d fixed - self.inputs not defined (PR #658)
  • Deprecation warning fixed in tl.layers.binary._compute_threshold() (PR #658)
  • All references to tf.logging replaced by tl.logging (PR #661)
  • Duplicated code removed when bias was used (PR #667)
  • tensorlayer.third_party.roi_pooling.roi_pooling.roi_pooling_ops is now lazy loaded to prevent systematic error raised (PR #675)
  • Documentation not build in RTD due to old version of theme in docs directory fixed (PR #703)
  • Tutorial:
    • tutorial_word2vec_basic.py saving issue #476 fixed (PR #635)
    • All tutorials tested and errors have been fixed (PR #635)

Dependencies Update

  • Update pytest from 3.5.1 to 3.6.0 (PR #647)
  • Update progressbar2 from 3.37.1 to 3.38.0 (PR #651)
  • Update scikit-image from 0.13.1 to 0.14.0 (PR #656)
  • Update keras from 2.1.6 to 2.2.0 (PR #684)
  • Update requests from 2.18.4 to 2.19.0 (PR #695)

Contributors

  • @lgarithm: #563
  • @DEKHTIARJonathan: #573 #574 #575 #580 #633 #635 #636 #639 #644 #645 #648 #657 #667 #658 #659 #660 #661 #666 #667 #672 #675 #683 #686 #687 #690 #691 #692 #703
  • @2wins: #560 #566 #662
  • @One-sixth: #579
  • @zsdonghao: #587 #588 #639 #685 #697
  • @luomai: #639 #677
  • @dengyueyun666: #676

1.8.5 - 2018-05-09

Added

  • Github Templates added (by @DEKHTIARJonathan)
    • New issues Template
    • New PR Template
  • Travis Deploy Automation on new Tag (by @DEKHTIARJonathan)
    • Deploy to PyPI and create a new version.
    • Deploy to Github Releases and upload the wheel files
  • PyUP.io has been added to ensure we are compatible with the latest libraries (by @DEKHTIARJonathan)
  • deconv2d now handling dilation_rate (by @zsdonghao)
  • Documentation unittest added (by @DEKHTIARJonathan)
  • test_layers_core has been added to ensure that LayersConfig is abstract.

Changed

  • All Tests Refactored - Now using unittests and runned with PyTest (by @DEKHTIARJonathan)
  • Documentation updated (by @zsdonghao)
  • Package Setup Refactored (by @DEKHTIARJonathan)
  • Dataset Downlaod now using library progressbar2 (by @DEKHTIARJonathan)
  • deconv2d function transformed into Class (by @zsdonghao)
  • conv1d function transformed into Class (by @zsdonghao)
  • super resolution functions transformed into Class (by @zsdonghao)
  • YAPF coding style improved and enforced (by @DEKHTIARJonathan)

Fixed

  • Backward Compatibility Restored with deprecation warnings (by @DEKHTIARJonathan)
  • Tensorflow Deprecation Fix (Issue #498):
    • AverageEmbeddingInputlayer (by @zsdonghao)
    • load_mpii_pose_dataset (by @zsdonghao)
  • maxPool2D initializer issue #551 (by @zsdonghao)
  • LayersConfig class has been enforced as abstract
  • Pooling Layer Issue #557 fixed (by @zsdonghao)

Dependencies Update

  • scipy>=1.0,<1.1 => scipy>=1.1,<1.2

Contributors

@zsdonghao @luomai @DEKHTIARJonathan