v5.0.0
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
, andadd_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 besidesinit_scope
.
New Features
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
withvariable.array
invariable.py
(#5488, thanks @crcrpar!) - Update packaging for iDeep 2.0 (#5513)
- Consistently use
Variable.array
instead of.data
(#5517) - Use
arr.item()
instead ofnp.asscalar(arr)
to support NumPy 1.16 (#5529) - Support negative
axis
forF.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
andLink.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
ignorespad_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
andF.log_softmax
withaxis=-1
on gpu (#5502) - For proper resuming, don't raise
KeyError
atUpdateRule
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
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 ofnumpy>=1.15
(#5491) - Ignore protobuf is warned by Python 3.7 (#5518)
- Fix test for python 3.7 (#5576)