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_rnnandF.n_step_birnn(#5808) - Add
chainerx.vsplitto ChainerX (#7032, thanks @ishanrai05!) - Add
chainerx.linalg.qrto 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_matrixto get matrices of given singular values (#8077) - Add
chainerx.fmod(#8110) - Add
chainerx.nonzero(#8124)
Enhancements
- Abbreviate output of
chainerx::ArrayReprfor large inputs (#7708) - Make parameterized test names deterministic (#7945)
- Raise
FutureWarningon GPU-to-GPU transfer inStandardUpdater(#7952) - Always get
typeidof kernels inlibchainerx(#7970) - Fixed support of 0-sized arrays for linalg routines in ChainerX (#7980, thanks @IvanYashchuk!)
- Support CuPy/ChainerX arrays when initializing
variable.Parameterobjects (#8022) - Add cuda
ScanKernel(#8103)
Performance Improvements
Bug Fixes
- Fix deadlock on
MultiprocessIteratorandMultiprocessParallelUpdater(#7511) - Support
mixed16/float16GroupNormalization(#7965) - Change return policy for
chx::Deviceobject onndarraypickling (#7988) - Fix deepcopy for chain parameters (#7996)
- Fix floating point exception in ChainerX inferred reshape (#8018)
- Fix
chainerx::Dotedge cases with empty arrays (#8020) - Fix LSTM for omitted upstream gradients (#8037)
- Fix native
AddAtimplementation for float16 arrays (#8055) - Correctly cast
fill_valuein constant initializer (#8089)
Code Fixes
- Simplify
ArrayReprImpl(#7699) - Remove unnecessary file (#8000)
- Refactor
F.batch_normalizationand ChainerMN backend implementations (#8039) - Fix
-Wabsolute-valuefor clang (#8045) - Generalize and simplify
NativeCumsumKernel(#8053) - Fix coding style of some imports in ChainerMN (#8060)
- Fix
-Wbraced-scalar-initfor 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.takeindices 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.maximumdoc (#8147) - Fix typo (#8160)
Installation
- Fix NumPy version in Dockerfile (#8027)
- Add
cblas.hand modifiedCMakeLists.txt(#8052, thanks @okdshin!) - Fix environment variable
CHAINERX_ENABLE_LAPACK=0causes 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
DeprecationWarningintest_maniplation.py(#7824) - Avoid unnecessary test condition in
F.max_pooling_2dtest (#7924) - Add test for optimizers test coverage (#7927)
- Fix flaky
negative_sampling(#7975) - Avoid testing full combinations in
F.lstmtest parameterization (#7987) - Relax tolerances in
gradient_checktest (#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
TrueDivtolerances (#8047) - Add scripts for Docker base images for Chainer CI (#8075)
- Fix tests of
L.BatchRenormalizationand adjust tolerances (#8080) - Add timestamp to Travis CI log (#8085)
- Explicit
h5py.Filemode(#8090) - Fix flaky tests with
np.empty(#8096) - Revive clang-tidy test in Travis CI (#8098)
- Fix matrix generation in linear algebra
PseudoInversetest (#8102) - Remove duplicated parameter in
test_normal.py(#8111) - Register pytest markers (#8112, #8132)
- Fix macOS Travis error caused by Homebrew (#8115)
- Add
ignore::ImportWarningtosetup.cfg(#8131) - Relax tolerance of im2col test (#8133)
- Allow
fix_randomdecorator to be used withOpTest(#8136) - Fix missing dtype checks in ChainerX loss test (#8141)
- Fix flaky
NStepRNNandNStepBiRNN(#8142) - Avoid
emptyinF.casttest that can cause overflow warning (#8152) - Make xdist usable in ChainerX tests (#8155)
- Adjust
TestConvolution2DFunction::test_double_backwardfp16 tolerance (#8163)
Others
- Convert tabs to spaces in
setup.cfg(#8154)