v7.0.0b4
Pre-release
Pre-release
This is the release note of v7.0.0b4. See here for the complete list of solved issues and merged PRs.
Highlights
Many updates to ChainerX including new routines and support for loss scaling.
New Features
- Support all float dtypes in
F.n_step_rnn
andF.n_step_birnn
(#5808) - Add
chainerx.vsplit
to ChainerX (#7032, thanks @ishanrai05!) - Add
chainerx.linalg.qr
to ChainerX (#7379, thanks @IvanYashchuk!) - Add
chainerx.accuracy
(#7526, thanks @aksub99!) - Add
chainerx.{remainder/mod}
(#7675, thanks @sky58!) - Add Tree-LSTM to ChainerX (#7720, thanks @dido1998!)
- Add S-LSTM to ChainerX (#7783, thanks @dido1998!)
- Loss scale support for chainerx (#7979)
- Add
F.zeta
(#8059, thanks @UmashankarTriforce!) - Add
testing.generate_matrix
to get matrices of given singular values (#8077) - Add
chainerx.fmod
(#8110) - Add
chainerx.nonzero
(#8124)
Enhancements
- Abbreviate output of
chainerx::ArrayRepr
for large inputs (#7708) - Make parameterized test names deterministic (#7945)
- Raise
FutureWarning
on GPU-to-GPU transfer inStandardUpdater
(#7952) - Always get
typeid
of kernels inlibchainerx
(#7970) - Fixed support of 0-sized arrays for linalg routines in ChainerX (#7980, thanks @IvanYashchuk!)
- Support CuPy/ChainerX arrays when initializing
variable.Parameter
objects (#8022) - Add cuda
ScanKernel
(#8103)
Performance Improvements
Bug Fixes
- Fix deadlock on
MultiprocessIterator
andMultiprocessParallelUpdater
(#7511) - Support
mixed16
/float16
GroupNormalization
(#7965) - Change return policy for
chx::Device
object onndarray
pickling (#7988) - Fix deepcopy for chain parameters (#7996)
- Fix floating point exception in ChainerX inferred reshape (#8018)
- Fix
chainerx::Dot
edge cases with empty arrays (#8020) - Fix LSTM for omitted upstream gradients (#8037)
- Fix native
AddAt
implementation for float16 arrays (#8055) - Correctly cast
fill_value
in constant initializer (#8089)
Code Fixes
- Simplify
ArrayReprImpl
(#7699) - Remove unnecessary file (#8000)
- Refactor
F.batch_normalization
and ChainerMN backend implementations (#8039) - Fix
-Wabsolute-value
for clang (#8045) - Generalize and simplify
NativeCumsumKernel
(#8053) - Fix coding style of some imports in ChainerMN (#8060)
- Fix
-Wbraced-scalar-init
for clang (#8076) - Use standard constructor (#8088, thanks @cloudhan!)
- Remove unused headers in
arithmetic.{h,cc}
(#8128)
Documentation
- Fix doc of
backend.copyto
(#7832) - Document
chainerx.to_numpy
(#7984) - Fix RNN docs for ChainerX (#7985, thanks @dido1998!)
- Remove obsolete note about
chainerx.take
indices dtype (#7998) - Add undocumented arguments to snapshot extension signature (#8004)
- Fix grammatical errors in documentation (#8029)
- Fix heading anchor in ChainerX docs (#8091)
- Documentation improvement
CHAINERX_ENABLE_{BLAS,LAPACK}
(#8099) - Add document print runtime info (#8125)
- Fix RNN documentation (#8144)
- Add documentation for
chainerx.minimum
(#8146) - Remove obsolete note in
chainerx.maximum
doc (#8147) - Fix typo (#8160)
Installation
- Fix NumPy version in Dockerfile (#8027)
- Add
cblas.h
and modifiedCMakeLists.txt
(#8052, thanks @okdshin!) - Fix environment variable
CHAINERX_ENABLE_LAPACK=0
causes error (#8086, thanks @cloudhan!) - Update abseil to new release (#8120)
Examples
- Use some latest features for the WaveNet example (#6285)
- Separate training script into main part and data submodule to avoid an error related to NVIDIA DALI. (#8127, thanks @lazykyama!)
Tests
- Treat warnings as errors in tests (#6653)
- Filter
DeprecationWarning
intest_maniplation.py
(#7824) - Avoid unnecessary test condition in
F.max_pooling_2d
test (#7924) - Add test for optimizers test coverage (#7927)
- Fix flaky
negative_sampling
(#7975) - Avoid testing full combinations in
F.lstm
test parameterization (#7987) - Relax tolerances in
gradient_check
test (#7989) - Drop Python 2 Travis CI configuration (#8013)
- Drop Python 2 AppVeyor configuration (#8014)
- Drop Python 2 PFN CI configuration (#8017)
- Suppress number of combinations of in_out_dtype (#8023)
- Avoid non-differentiable point in min/max tests (#8044)
- Adjust
TrueDiv
tolerances (#8047) - Add scripts for Docker base images for Chainer CI (#8075)
- Fix tests of
L.BatchRenormalization
and adjust tolerances (#8080) - Add timestamp to Travis CI log (#8085)
- Explicit
h5py.File
mode
(#8090) - Fix flaky tests with
np.empty
(#8096) - Revive clang-tidy test in Travis CI (#8098)
- Fix matrix generation in linear algebra
PseudoInverse
test (#8102) - Remove duplicated parameter in
test_normal.py
(#8111) - Register pytest markers (#8112, #8132)
- Fix macOS Travis error caused by Homebrew (#8115)
- Add
ignore::ImportWarning
tosetup.cfg
(#8131) - Relax tolerance of im2col test (#8133)
- Allow
fix_random
decorator to be used withOpTest
(#8136) - Fix missing dtype checks in ChainerX loss test (#8141)
- Fix flaky
NStepRNN
andNStepBiRNN
(#8142) - Avoid
empty
inF.cast
test that can cause overflow warning (#8152) - Make xdist usable in ChainerX tests (#8155)
- Adjust
TestConvolution2DFunction::test_double_backward
fp16 tolerance (#8163)
Others
- Convert tabs to spaces in
setup.cfg
(#8154)