@beam2d beam2d released this Oct 25, 2018 · 116 commits to v5 since this release

Assets 2

This is the release note of v5.0.0. See here for the complete list of solved issues and merged PRs.

This is the fifth major release of Chainer. This release note only covers the difference from v5.0.0rc1; for all highlights and changes, please refer to the blog post and release notes of the pre-releases:

See the Upgrade Guide if you are upgrading from previous versions.

Highlights

  • Chainer now supports Python 3.7.
  • iDeep 2.0 has been supported. Existing iDeep 1.x users must update iDeep using pip install -U ideep4py.
  • Link parameter and child link initializations via __init__(...), add_param, and add_link are undeprecated. They are useful when one builds a link as a container of parameters and links, and therefore we decided to leave these APIs besides init_scope.

New Features

  • Add discriminative margin based clustering loss (#5505, thanks @dBeker!)

Enhancements

  • Update Adam for iDeep 2.0 (#5407, thanks @mingxiaoh!)
  • Fix some E241 style errors (#5437)
  • Fix style of imports (#5458)
  • Validate shape of weight in F.convolution_2d (#5466)
  • Dedup assertion in MpiCommunicatorBase.allreduce (#5475)
  • Replace variable.data with variable.array in variable.py (#5488, thanks @crcrpar!)
  • Update packaging for iDeep 2.0 (#5513)
  • Consistently use Variable.array instead of .data (#5517)
  • Use arr.item() instead of np.asscalar(arr) to support NumPy 1.16 (#5529)
  • Support negative axis for F.softmax (#5543)
  • In-place update in F.batch_renormalization (#5546)
  • Grouped convolutions using matmul (#5549)
  • ChainerMN: Forward-port recent enhancements and bug-fixes (ChainerMN v1.3.1 release note) (#5554)
  • Make type_check.argname private (#5556)
  • ChainerMN: add an error message when mpi4py is missing (#5562)
  • Un-deprecate Link.add_param and Link.add_link (#5569)
  • Fix code for Python 3.7 (#5578)
  • Remove unnecessary version checking in ChainerMN (#5400)

Bug Fixes

  • Fix beta distribution (#5455)
  • [bugfix] CaffeFunction ignores pad_w (#5468, thanks @koreyou!)
  • Fix FunctionNode.retained_outputs (#5476)
  • Fix train_imagenet_data_parallel.py example cannot be run (#5499, thanks @Lynkzhang!)
  • Fix F.softmax and F.log_softmax with axis=-1 on gpu (#5502)
  • For proper resuming, don't raise KeyError at UpdateRule deserialization (#5506, thanks @grafi-tt!)
  • Fix backward of HuberLoss (#5520)

Documentation

  • Merge ChainerMN docs from master branch (#5399)
  • Add document for D.Beta (#5426)
  • Fix typos in doc of chainer.report (#5447)
  • Fix a ReST escape (#5449)
  • Fix typo in static graph optimization (#5456, thanks @crcrpar!)
  • Fix docstring of chainer.Sequential (#5461)
  • Add Google Colaboratory installation steps and link to community examples (#5464)
  • Fix docstrings to follow OpenStack Style Guidelines (#5465)
  • Fix dead fragments to CuPy docs (#5515)
  • Improve code sample appearance in docs (#5522)
  • Use "documentation" instead of "document" in our documentation (#5533)
  • Fix docstring of discriminative loss (#5537)
  • Chainer v5 requires CuPy v5 (#5540)
  • Improve FunctionNode upgrade guide (#5541)
  • Add support for NumPy 1.15 in docs (#5545)
  • Add upgrade guide for get_device_from_array (#5560)
  • Update ChainerMN documents (#5564)
  • Add Python 3.7 support to installation docs (#5574)

Installation

  • Fix typo in setup.py (#5398)
  • Update base docker image (#5571)

Tests

  • Travis test against v5 branch (#5395)
  • Add missing test in Variable test (#5406)
  • Fix occasional test failure of l2normalize with float16 (#5448)
  • Relax tolerance of check_double_backward test (#5490)
  • Ignore scipy<1.0 is warned by using a deprecated feature of numpy>=1.15 (#5491)
  • Ignore protobuf is warned by Python 3.7 (#5518)
  • Fix test for python 3.7 (#5576)