Skip to content

TensorLayer 1.10.0

Compare
Choose a tag to compare
@zsdonghao zsdonghao released this 01 Sep 20:06
· 1266 commits to master since this release
ec33758

Important Notice

This release contains a memory leak issue.

Release Note

It has been a very busy summer for the TensorLayer team. In this version, we start to support:

  • query and modify a neural network through an intuitive graph API;
  • transparently scale-out your single-GPU training job onto multiple GPUs on a single server and multiple servers using a high-performance trainer module. Trainer is backed by the high-performance and scalable Hovorod library, see examples here;
  • reduce the memory usage of a neural network and even accelerate it using many advanced Network Quantization Layers;
  • add more pre-trained models in our model module.

Mostly importantly, we decide to open-source a series of neural network application codes that have been used by practitioners. The first batch includes:

  • adaptive style transfer which allows you to do almost any kind of style transfer without compromise performance.
  • flexible openpose which allows you deeply customize your openpose network based on the actual data shapes, accuracy requirement, memory constraints and inference speed targets.
  • super resolution which allows you to apply this fantastic technique to medical imaging and many other important fields.

At the same time, just want to put a note ahead, we are working very hard towards the TensorLayer 2.0 release in order to synchronize with the coming TensorFlow 2.0.

Enjoy this release, and we would love your feedback!

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)

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)

Security

Dependencies Update

  • tensorflow>=1.8,<1.9 => tensorflow>=1.6,<1.11 (PR #739 and PR #798)
  • tensorflow-gpu>=1.8,<1.9 => tensorflow-gpu>=1.6,<1.11 (PR #739 and PR #798)
  • 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)
  • 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