v6.0.0
This is the release note of v6.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers the difference from v6.0.0rc1; for all highlights and changes, please refer to the release notes of the pre-releases:
See the Upgrade Guide if you are upgrading from previous versions.
Highlights
- AdaBound and AMSBound are now supported by
Adam
- The performance of unpooling with integer scaling is improved
- Many examples including ImageNet, DCGAN and VAE support ChainerX
New Features
- Implement array vs array functionality to
chainerx.minimum
(#6813, thanks @aksub99!) - Add
logical_and
andlogical_or
to ChainerX (#6821, thanks @kshitij12345!) - Add
squared_difference
to ChainerX (#6822, thanks @aksub99!) - Add AdaBound (and AMSBound) (#6846, thanks @hitsgub!)
- Add
condition
andwriter
option tosnapshot_object
(#6943) - Add
chainerx.ceil
(#6852, thanks @kshitij12345!)
Enhancements
- Make ChainerX device functions public (#6760)
- Fix
Evaluator
forchainer.dataset.converter
(#6790) - Remove ChainerX
Backend
ctor and useCreateBackend
(#6809) - Improve
link_hooks.SpectralNormalization
(#6877, thanks @crcrpar!) - Update
distributions.independent
(#6945, thanks @ganow!) - Define
__str__
forDevice
classes (#7092, thanks @nishnik!) - Fix trigger constructors to raise errors instead of assertion failures (#7105)
Performance Improvements
- Fast integer scale unpooling (#7127)
Bug Fixes
- Avoid throwing in destructors (#6755)
- Fix
ArgMax
of CUDA when all values are negative (#6796) - Fix
chainerx.astype
casting fromfloat16
tobool
in CUDA (#6797, thanks @kshitij12345!) - Fix
TypeError
during BN deserialization on win64 (#6812, thanks @hyabe!) - Remove
chainerx.square
fallback since it is implemented in C++ (#6828) - Fix stack overflow caused when
to_gpu
/to_cpu
/to_intel64
were overridden (#6849) - Fix unchain gradient pull (#6918, thanks @Rishav1!)
- Fix
filename
arg ofPlotReport
(#6928) - Make
InvalidType
picklable (#6934, thanks @zaltoprofen!) - Fix terminal column width retrieval in backprop traceback in Python 2 (#6958)
- Avoid using
ImportError
duringimport cupy
(#7011) - Fix
ConcatWithAsyncTransfer
(#7019) - Set
allow_pickle=True
(#7048) - Fix subview of zero-sized arrays (#7051)
- Fix
At
output offset (#7054) - Fix handling of ndarray offsets (#7056)
- Fix construction of
std::shared_ptr
with custom deleter inchianer_interop.cc
(#7109) - Add zero fill mode in allreduce of
chainermn
(#7142)
Code Fixes
- Fix comments and add TODO to indexing routines (#6793)
- Refactor CUDA batch norm tensor descriptor (#6805)
- Add
cuda_internal::DeviceInternals
to wrap handle etc. (#6826) - Clean up
DeviceInternals
(#6830) - Avoid importing object (#7121)
- ChainerX op registration: normalization (#6851)
Documentation
- Append to v6 upgrade guide about Python 3.4 support drop (#6751)
- Fix broken link in
chainerx.md
(#6916, thanks @tkat0!) - Use search index (#6930)
- Fix typo in
pickle_dataset.py
(#6964) - Update ChainerX contribution guide (#6971)
- Document
chainer.testing.LinkTestCase
(#7001, thanks @crcrpar!) - Update supported MPI list (#7113)
- Document
CHAINERX_ENABLE_BLAS
environment variable (#7120) - Fix documentation of renamed arguments (#7123)
- Backport #6595, #7099 and #7102 (#7152)
Installation
- Exclude
protobuf
3.8.0rc1
from dependencies (#7088)
Examples
- Improve Chainer examples (#6753, thanks @crcrpar!)
- Support ChainerX in reinforcement learning example (#6787)
- Support ChainerX in VAE example (#6791)
- Support ChainerX in word2vec example (#6795)
- Support ChainerX in DCGAN example (#6799)
- Support ChainerX in wavenet example (#6806)
- Support ChainerX in CIFAR example (#6957)
- Support ChainerX in text classification example (#6997)
- Use
filename
inPlotReport
example (#7009, thanks @crcrpar!) - Fix
reinforcement_learning
example to work with default dtype (#7049)
Tests
- Travis test against v6 branch (#6750)
- Fix Travis with macOS (#6758)
- Dodge nondifferentiable inputs in
chainerx.max
test (#6766) - Fix
F.elu
test numeric error (#6844) - Fix test failures in math test (#6850)
- Relax tolerance for float16 in
unary_math_function_unittest
(#6919) - Fix
F.rrelu
test instability (#6920) - Fix
F.max_pooling_nd
test instability (#6927) - Relax tolerances and avoid non-differentiable points for FP16 in triplet loss tests (#6929)
- Fold Travis test outputs (#6967)
- Increase the default columns in Travis CI (#6973)
- Fix flaky
TestLogSumExp
(#6999) - Fix flaky ChainerX
max_pool
test (#7002) - Fix test failure in
test_spatial_transformer_sampler.py
(#7020) - Quickfix: skip tests that fail with NumPy 1.16.3 (#7025)
- Fix flaky Huber loss test (#7052)
- Fix flaky
chainerx.tan
test (#7053) - Display
pytest
summary (#7090) - Display
pytest
summary (cont.) (#7091) - Make too slow initializers' tests faster (#7122)
Others
- Make git ignore
chainerx/libchainerx.dylib
(#6885)