emcastillo
released this
This is the release note of v7.7.0. See here for the complete list of solved issues and merged PRs.
As announced previously, Chainer has reduced the release frequency from monthly to once every two months if there are changes that justify the release. We have decided to skip v7.5.0 and v7.6.0 in order to keep the Chainer version up to date with CuPy’s most recent release.
Bug Fixes
- Add support for
spawn
andforkserver
start method inPickleDataset
(#8465, thanks @zaltoprofen!) - Fix array indexing in
create_multi_node_evaluator
(#8568)
Documentation
Tests
- Fix Travis macOS failure (#8562)
- Fix onnxruntime version for CI failure (#8564)
- Fix Chainer CIs (#8569)
- Use v7 for base branch detection (#8570)
- Install CuPy v7 for ChainerX Jenkins tests (#8574)
Others
Assets
2
emcastillo
released this
This is the release note of v7.4.0. See here for the complete list of solved issues and merged PRs.
As announced previously, Chainer has reduced the release frequency from monthly to once every two months. We have decided to skip v7.3.0 in order to keep the Chainer version up to date with CuPy’s most recent release.
Enhancements
- Allow
concat_arrays
to be pickable (#8549)
Bug Fixes
- Allow
start_method
s other than fork onMultiprocessParallelUpdater
(#7552) - Fix
backend.copyto
for mismatched dtypes to CuPyndarray
(#8043) - Fix
optimizer.use_fp32_update
on ChainerX model (#8382, thanks @y1r!)
Documentation
- Fix
local_convolution_2d
result shape documentation (#8553, thanks @msakai!) - Update
functions.rst
(#8557, thanks @husisy!)
Tests
Assets
2
This is the release note of v7.2.0. See here for the complete list of solved issues and merged PRs.
As announced previously, Chainer is currently under the maintenance phase. Considering the situation, we are going to reduce the release frequency of Chainer from monthly to once every two months. This does not affect the release frequency of CuPy.
Enhancements
- Add support for
cupy-cuda102
(#8544)
Bug Fixes
- Calculate
beta
withstatic_code
onF.BatchNormalization.forward
(#8325)
Code Fixes
- Remove py2 warnings (#8542)
Documentation
Examples
- Fix accuracy calculation of custom loop examples (#8534)
Assets
2
emcastillo
released this
This is the release note of v7.1.0. See here for the complete list of solved issues and merged PRs.
Enhancements
- Support custom initializers in
NStepRNN
(#8489) - Support
n_step_gru
function on exporting ONNX (#8492, thanks @msakai!) - Extend ONNX-Chainer's
TransposeSequence
converter to support more cases (#8493, thanks @msakai!) - Add
NStepGRU
link converter example to ONNX-Chainer test (#8494, thanks @msakai!) - Allow ONNX-Chainer's
patch_functions
to patch functions in modules other thanchainer.functions
(#8495, thanks @msakai!) - Replaced
n_fold
withn_folds
(#8516, thanks @Saanidhyavats!) - Remove trailing whitespaces (#8536)
Performance Improvements
- Fast
IndexIterator
for ChainerX CUDA (#8360)
Bug Fixes
- Fix
CooMatrix.to_dense
for duplicate indices (#8187) - Add
try/finally
block toyield
in reporter.py (#8508)
Documentation
- Fix several documentation errors in
chainer.functions.rnn.*
(#8454, thanks @msakai!) - Fix typo:
chainermn.extension
->chainermn.extensions
(#8526, thanks @msakai!) - Remove '--pre' from 'pip install' commands in ChainerX installation document (#8527, thanks @msakai!)
Installation
Tests
Assets
2
This is the release note of v6.7.0. See here for the complete list of solved issues and merged PRs.
As announced previously, this is the final release of v6 series, which is the last version supporting Python 2.
Bug Fixes
- Add try/finally block to yield in
reporter.py
(#8511)
Documentation
Tests
Assets
2
emcastillo
released this
This is the release note of v7.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers the difference from v7.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. Also, note that we dropped the support of Python 2.7 and 3.4 from Chainer v7.
Please read the following announcement to learn about the future of Chainer.
Highlights
- Most features of Chainer, including ChainerMN, are now compatible with ChainerX ndarray.
- ONNX-Chainer is integrated into Chainer.
- NHWC support added. Performance for convolutions and batch normalization greatly improved on GPUs with Tensor Core.
Changes without compatibility
- Forbid out-of-range
insert
onSequence
(#6374) - Update minimum required python version to 3.5.2 (#8410)
New Features
- Support soft target in softmax_cross_entropy (#5595, thanks @anaruse!)
- Support NHWC tensor layout (#7620)
- Add Cholesky Decompostion (#8202, thanks @UmashankarTriforce!)
- Allow customizing
setup
/tear-down
method names intesting.fix_random
(#8432)
Enhancements
- Use intermediate dtype in
F.mean_absolute_error
for FP16 (#6807) - Avoid fallback for ChainerX in
F.accuracy
(#7396) - Add
from_params
toLinear
&Conv
(#7525, thanks @crcrpar!) - Correct
FunctionNode.forward
output type message (#7655) - Default index mode for ChainerX
Take
(#8281) - Forward
chainerx::MakeArray
in some case (#8296) - Raise
ValueError
when callingxxx_obj
with ChainerX array in ChainerMN (#8320) - Add
Permutate
exporter toonnx_chainer
(#8333, thanks @msakai!) - Update ONNX version (#8339)
- Support ONNX export with opset11 (#8341)
- Support multiple advanced indexing on ONNX export (#8345)
- Revert output value check in
SoftmaxCrossEntropy
(#8347) - Enhance
chainerx::AddAt
as a public function (#8351) - Support
cover_all=True
onUnpooling2D
in exporting to ONNX (#8391) - Use
ceiling_mode
on exporting to ONNXMaxPool
(#8392) - Fix
onnx_chainer.replace_func.fake_as_funcnode
to reconstruct return value structure (#8398, thanks @msakai!) - Support
Rollaxis
in ONNX-Chainer (#8428, thanks @tkanmae!) - Add support of
SelectItem
in ONNX-Chainer (#8450, thanks @tkanmae!) - Add
TransposeSequence
exporter to ONNX-Chainer (#8451, thanks @msakai!) - Use
__name__
attribute in parameterized test names when available (#8455, thanks @grlee77!) SelectItem
usingGatherElements
for ONNXopset>=11
(#8470)- Add deprecation warning to ONNX exporting without test cases (#8473)
- Add workaround for cuSolver 10.2's new enums (#8475)
- Support step slicing on ONNX export (#8484)
- Support sign function on exporting ONNX (#8488)
- Raise
RuntimeError
when usingcudnn_fast
without cudnn (#8499)
Performance Improvements
- Make contiguous case for
chainerx::AddAt
faster (#8299)
Bug Fixes
- Fix 'attempting to reference a deleted function' with MSVC (#8258, thanks @cloudhan!)
- Fix onnx_chainer's exporter of Separate to handle single output case (#8332, thanks @msakai!)
- Fix ChainerX fallback condition in batch normalization (#8359)
- Remove host-side branch on
F.accuracy
withignore_label
(#8364, thanks @y1r!) - Fix rounding on float16 conversions (#8378)
- Avoid overflow on index calculations when using large arrays (#8389)
- Fix pickling of optimizers (#8394)
- Fix
AttributeError
inWrappedFunctionNode.forward
(#8397, thanks @msakai!) - Register uninitialized persistents (#8445)
- Fix ONNX-Chainer's
GetItem
converter to handle-1
correctly (#8460, thanks @msakai!) - Support
chainerx.batch_norm
with 2D input on CUDA (#8464) - Fix
BatchNormalization
for NHWC without cudnn (#8497)
Code Fixes
- Code clean up for
routines/indexing.h
(#8288) - Fix style in
_snapshot.py
(#8297) - C++ cosmetic fixes (#8379)
- Avoid using
VariableNode
inF.convolution_2d
backward implementation (#8395) - Add unsigned suffix in float16 test (#8408)
- Remove unused function (#8413)
- Add unsigned integer suffix (#8414)
- Avoid repeatedly enumerating submodules (#8421)
- Fix ChainerX CMake test dependencies (#8422)
- Avoid preprocessor for LAPACK error (#8468)
Documentation
- Fix for issue #6251 and issue #6810 (#6808, thanks @euler16!)
- Document properties of computed gradients in
cholesky
andeigh
(#8312) - Fix n-step RNN docs (#8326, thanks @euler16)
- Fix documentation of
NStepGRUBase
(#8330, thanks @msakai!) - Fix typos in ONNX-Chainer introduction (#8334, thanks @msakai!)
- Fix docs of ONNX export introduction (#8338)
- Fix typo in
/examples/seq2seq/README.md
(#8399, thanks @tanaken0515!) - Link to examples directory for the current branch (#8403)
- Fix
scatter_dataset
part of ChainerMN tutorial (#8406) - Update expected messages of
type_check
errors (#8407) - Fix typo in math expressions (#8433)
- Update requirements (#8501)
Installation
- Allow multiple code in
CHAINERX_NVCC_GENERATE_CODE
(#8370) - Fix CMake target name for abseil (#8380)
- Remove typing requirement (#8383, thanks @jonringer!)
- Update minimum required python version to 3.5.2 (#8410)
- Use
PYBIND11_EXPORT
instead of visibility hack (#8437) - Ignore unused function warning in NVCC (#8439)
- Fix code grouping in
CMakeLists.txt
(#8440)
Examples
- Add MNIST
MultiprocessParallelUpdater
example (#7478) - Use ChainerX softmax cross entropy implementation in ChainerX examples (#8294)
Tests
- Forbid out-of-range
insert
onSequence
(#6374) - Check output in example tests (#7280)
- Show pytest summary in flexCI (#8212)
- Run example tests in Travis CI (#8251)
- Fix Decorrelated Batch Normalization tests (#8260)
- Build ChainerX example in CI (#8282)
- Fix
test_Meshgrid
(#8285) - Add ChainerX pytest in
multi_node_early_stopping
(#8321) - Fix inputs of pooling function tests (#8328)
- Include
.git
in ChainerCV compatibility CI (#8331) - Adjust
SoftmaxCrossEntropy
test tolerances (#8335) - Fix random condition in
chainerx.where
test (#8342) - Use
LinkTestCase
forL.GroupNormalization
(#8343) - Relax tolerances of ChainerX linalg forward tests (#8344)
- Add chainerx test to dataset_tests (#8346)
- Print installed packages in pytest (#8348)
- Reduce shape in ChainerX linalg test (#8349)
- Use different docker image for each base development branch (#8350)
- Set CHAINER_CI in Travis CI (#8353)
- Set CHAINER_CI in ChainerX tests in Jenkins (#8354)
- Set CHAINER_CI in Chainer tests in FlexCI (#8356)
- Use xpytest to parallelize tests (#8361)
- Relax float16 forward tolerance of
F.cast
test (#8363) - Print actual array values in
FunctionTest
modified input error (#8367) - Fix negative tests for
chainerx.linalg.*
(#8371) - Avoid non-differential point in
TestTriplet
(#8376) - Check ONNX Chainer python styles (#8400)
- Change version of python in travis macos test (#8405)
- Remove chainerx dependency from test backends (#8409)
- Add ChainerX test to
test_allreduce_persistent.py
(#8412) - Use
fix_random
in xfail backward tests (#8419) - Fix
TestMeshgrid
(#8420) - Add ChainerMN and ONNX-chainer tests to Mergify requirements (#8424)
- Add chainerx tests to
test_checkpoint.py
(#8429) - Fix random in ChainerX n-step GRU test (#8431)
- Add chainerx tests to
test_create_mnbn_model
(#8435) - Add chainerx tests into
multi_node_optimizer
(#8436) - Annotate tests that usually run >30s (#8443)
- Lookup macOS undefined symbols at runtime in backend tests (#8448)
- Skip some
Convolution2D
tests for older numpy versions (#8458) - Add
parametrize_device_name
to setup.cfg (#8459) - Fix conflict between #8251 and #8361 (#8461)
- Fix example test data (#8463)
- Enable verbose flag when installing chainer in Jenkins (#8467)
- Remove ChainerX
F.cholesky
test (#8469) - Ignore
cupy.util.PerformanceWarning
in pytest (#8471) - Avoid ChainerX slow tests in Jenkins (#8472)
- Fix flaky test of
_modified_xlogx
(#8483) - Fix broken version specification in FlexCI dockerfile (#8485)
- Remove unnecessary export on ONNX replace function test (#8487)
- Allow
array_utils.uniform
to be deterministic withfix_random
by default (#8491) - Add error message for invalid base branch in pfnCI (#8496)
- Adjust timeout and build memory usage in FlexCI (#8498)
Assets
2
This is the release note of v6.6.0. See here for the complete list of solved issues and merged PRs.
Bug Fixes
- Fix SCE with ChainerX and normalize (#8311)
- Fix kernel of double backward of
max_pooling_2d
(#8329) - Fix ChainerX fallback condition in batch normalization (#8368)
- Fix
optimizer_hooks.GradientHardClipping
for scalar array (#8372) - Fix pickling of optimizers (#8417)
- Register uninitialized persistents (#8446)
Enhancements
- Compute
F.negative_sampling
in fp32 for fp16 inputs (#8309) - Fix
optimizer_hooks.GradientHardClipping
for ChainerX (#8377, thanks @kshitij12345!)
Documentation
- Fix documentation of NStepGRUBase (#8337, thanks @msakai!)
- Fix n-step RNN docs (#8402)
- Fix typo in
/examples/seq2seq/README.md
(#8404, thanks @tanaken0515!) - Changes citation to new KDD paper (#8418)
- Link to examples directory for the current branch (#8423)
- Update expected messages of
type_check
errors (#8456) - Update requirements (#8502)
Tests
- Fix Decorrelated Batch Normalization tests (#8340)
- Add missing FlexCI configurations (#8352)
- Use
LinkTestCase
forL.GroupNormalization
(#8355) - Show pytest summary in flexCI (#8369)
- Set
CHAINER_CI
in Travis CI (#8373) - Set
CHAINER_CI
in ChainerX tests in Jenkins (#8375) - Set
CHAINER_CI
in Chainer tests in FlexCI (#8381) - Print installed packages in pytest (#8386)
- Print actual array values in
FunctionTest
modified input error (#8388) - Avoid non-differential point in
TestTriplet
(#8396) - Use different docker image for each base development branch (#8401)
- Disable ChainerMN FlexCI tests on v6 (#8411)
- Use
fix_random
in xfail backward tests (#8457) - Avoid ChainerX slow tests in Jenkins (#8474)
- Use CuPy v6 in ChainerX test in Jenkins (#8477)
- Skip some
Convolution2D
tests for older numpy versions (#8478) - Fix Travis Openssl Error in OSX (#8480)
- Fix flaky test of
_modified_xlogx
(#8486) - Add error message for invalid base branch in pfnCI (#8500)
- Adjust timeout and build memory usage in FlexCI (#8503)
Assets
2
hvy
released this
This is the release note of v7.0.0rc1. See here for the complete list of solved issues and merged PRs.
Announcements
This time, we will keep the current branches for active development (master
for v7.x, v6
for v6.x) after the RC. We will maintain v6.x series until Python2 EOL, so we do not cut the new development version for now to avoid increasing the number of branches to maintain. New features will be included directly into v7 for a while, and maintenance changes will be backported to v6.
Highlights
ONNX-Chainer Integration
ONNX-Chainer which used to be a separate project has now been integrated to the Chainer repository and made more accessible to existing Chainer users (#8229). You can easily export Chainer model as ONNX format like this:
import onnx_chainer
onnx_chainer.export(chainer_model, pseudo_input, filename='model.onnx')
For a more detailed description on how to get started, please refer to the ONNX-Chainer section in the official documentation.
ChainerMN
ChainerMN now works with ChainerX. In this release, the MNIST example has also been updated to demonstrate the usage. (#7844)
New Features
- Add
UpsamplingDeconvFilter
andDownsamplingConvFilter
initializer (#5290, thanks @knorth55!) - Add
chainerx.meshgrid
(#6668, thanks @kshitij12345!) - Add
chainerx.hsplit
(#7030, thanks @ishanrai05!) - Add
linalg.cholesky
to ChainerX (#7329, thanks @IvanYashchuk!) - Add
linalg.eigh
,linalg.eigvalsh
to ChainerX (#7503, thanks @IvanYashchuk!) - ChainerX + ChainerMN integration on MNIST (#7844)
- New configuration system of communicator inspired by links (#7885)
- More efficient multi-node snapshot (#8003)
- A new multi-node evaluator for
force_equal_length=False
(#8071) - Allow weight initializer to have its own
RandomState
instance (#8081, thanks @mr4msm!) - Add
chainerx.hinge
(#8168) - Integrate ONNX-Chainer to Chainer repository (#8229)
- Implement
chainerx::SoftmaxCrossEntropy
andchainerx.softmax_cross_entropy
(#8250) - Add
chainermn.testing.to_device
function (#8279) - Add
chainerx.copyto
(#8314, thanks @kshitij12345!)
Enhancements
- Rename
TabularDataset.as_tuple/as_dict
toTabularDataset.astuple/asdict
(#7788) - Deprecate
DeviceResident.to_gpu
/to_cpu
/to_intel64
(#8058) - Support zero-sized matrix in
generate_matrix
(#8167) - Add mode argument to
chainerx.take
(#8197) - Delete move and copy of virtual
*GradState
classes (#8224) - Fix directional gradient stability in
gradient_check
(#8236) - Fix some typo (#8243, thanks @garanews!)
- Fix CuPy installation detection error message (#8264)
- Fix intel64 support of
F.batch_normalization
(#8266) - Fix dim clearing on output (#8270)
- Remove
device
argument fromchainerx.diag
andchainerx.diagflat
(#8275) - Fix algorithm to avoid small directions in
gradient_check
(#8290) - Show import error with guild message on ONNX (#8293)
- Partially
output_grad
support onfake_as_funcnode
(#8298) - Compute
F.negative_sampling
in fp32 for fp16 inputs (#8300) - Make some arguments keyword-only. Note that some of them may break code based on v7 beta versions, but none of them breaks the compatibility against v6.
- Make
mode
andalign_corners
arguments inF.resize_image
keyword-only (#8009) - Make
weights
andkeepdims
arguments inVariable.mean
keyword-only (#8010) - Make arguments of
WeightStandardization
keyword-only (#8011) - Make
call_before_training
argument ofTrainer.extend
keyword-only (#8064)- The argument was introduced in v7.0.0b3, so it is not counted as compatibility break of v7.
- Make arguments in
ObservationAggregator
andMultiNodeEarlyStoppingTrigger
keyword-only (#8065) - Make
force_equal_length
argument inscatter_dataset
andscatter_index
keyword-only (#8066) - Make
size
argument oftabular.from_data
keyword-only (#8067)
- Make
Performance Improvements
- Make contiguous case for
chainerx::Take
faster (#8295)
Bug Fixes
- Fix subgraph construction for ChainerX backward (#8049)
- Fix a bug in
F.batch_normalization
with mixed dtype (#8149) - Fix
__str__
of parameterized class (#8169) - Fix bugs when
x
andgamma
/beta
have different dtypes inF.batch_normalization
(#8175) - Change
copy
to__deepcopy__
in ChainerMNbatch_normalization
and replaceto_gpu
(#8185) - Fix possible data race in CUDA memory keeper (#8213)
- Add virtual destructor to CUDA
Allocator
(#8215) - Inherit input ndarray device in
chainerx.ascontiguousarray
(#8262) - Do not expose
global_kernel_registry
(#8265) - Fix SCE with ChainerX and normalize (#8301)
- Unable to use
gpu_id=0
in ChainerMN testingget_device
(#8304)
Code Fixes
- Update variable names for consistent naming convention (#8074)
- Fix style of
setup.cfg
(#8180) - Remove unused forward declaration of
AveragePoolPadMode
enum (#8214) - Write Read the Docs related comments in
setup.py
(#8218) - Remove unused classes
{Max,Average}PoolForwardBackward
(#8223) - Conform to
readability-avoid-const-params-in-decls
(#8225) - Simplify direction vector sampling in
gradient_check
(#8238) - Use type hint for method declaration (#8248)
- Remove obsolete comment in
F.softmax_cross_entropy
(#8253) - Fix import order and grouping (#8257)
- Simplify
CreateSubgraph
(#8310)
Documentation
- Change citation to new KDD paper (#7994)
- Fix a typo in the Cauchy distribution page (#8208, thanks @nzw0301!)
- Fix
resize_images
documentation to reflect recent code changes (#8221, thanks @zu3st!) - Set up documentation for loss functions in ChainerX (#8231)
- Add documentation for
chainerx.ravel
(#8233) - Add documentation for
chainerx.sigmoid_cross_entropy
(#8249) - Put a link to CuPy installation guide in README instead of a command instruction (#8287)
Installation
- Add ability to build with ninja generator. (#8194, thanks @cloudhan!)
- Suppress warnings-as-errors from external libraries (#8227)
- Write CMake generator when building (#8239)
- Add
libchainerx_base.a
to link chainerx statically (#8247)
Examples
- Fix WaveNet example not working (#8157, thanks @dhgrs!)
- Fix
generate.py
inexamples/wavenet
(#8172, thanks @dhgrs!)
Tests
- Simplify
F.scale
test (#6969, thanks @ishanrai05!) - Improve example tests (#7475)
- Add fp16 test to
test_n_step_rnn
(#7483) - Fix protobuf dependency (#7529)
- Fix
TestAccuracy
: Randomly reduce testing parameters (#7820) - Support ChainerMN testing in pfnci (#7821)
- Fix flaky tests of
chx.linalg.solve
(#7997) - Fix overflow warning in div backward test (#8109)
- Fix flaky
TestQR
(#8114) - Disable flaky test retry in flexCI (#8143)
- Pairwise testing (#8164)
- Allow
pytest.skip()
in combination withtesting.repeat
/retry
(#8174) - Remove
DummySerializer
andDummyDeserializer
fromiterators_tests
(#8176) - Fix comparison with casting in hdf5 serializer test (#8182)
- Relax
BatchNormalization
backward test tolerances (#8189) - Fix caffe test with
protobuf>=3.8
(#8190) - Add
CHAINER_TEST_PAIRWISE_PARAMETERIZATION
and enable it only in Travis CI (#8211) - Fix
attrs
package version (#8219) - Fix
HDF5Serializer
test for h5py<2.9 (#8220) - Fix flaky
TestBatchNormalization
(#8230) - Relax tolerances in ChainerX unary math tests (#8234)
- Add
"jenkins"
extras (#8241) - Use
clang-format-6.0
if possible and track the version ofclang-format
(#8242) - Remove legacy
DeprecationWarning
filter fromtest_multi_node_chain_list
(#8246) - Fix
chainex_tests
/unit_tests
/routines_tests
/test_linalg.py::Inverse
(#8255) - Fix flaky
TestHuberLoss
(#8271) - Stop setting too small tolerances in backprop tests (#8283)
- Make
ImportWarning
just a warning in tests (#8291) - Fix
gtest
linkage (#8292, thanks @cloudhan!) test_average
is slow in FlexCI (#8303)- Add ChainerX to
test_mnist
inchainermn_tests
(#8305) - Implement
communicator_test
for ChainerX+ChainerMN (#8313)
Others
Assets
2
This is the release note of v6.5.0. See here for the complete list of solved issues and merged PRs.
Enhancements
- Display ChainerX availability in
print_runtime_info
(#7860) - Fix CuPy installation detection error message (#8278)
Bug Fixes
- Fix
__str__
of parameterized class (#8184)
Code Fixes
- Update variable names for consistent naming convention (#8307)
Documentation
- Add document print runtime info (#8165)
- Fix RNN documentation (#8203)
- Fix a typo in the Cauchy distribution page (#8209, thanks @nzw0301!)
Tests
- Increase CPU memory for test instance in PFN CI (#7955)
- Fix overflow warning in div backward test (#8188)
- Disable flaky test retry in flexCI (#8191)
- Relax
BatchNormalization
backward test tolerances (#8196) - Fix comparison with casting in hdf5 serializer test (#8198)
- Fix tests of
L.BatchRenormalization
and adjust tolerances (#8200) - Adjust
TestConvolution2DFunction::test_double_backward
fp16 tolerance (#8201) - Fix
attrs
version (#8222) - Fix caffe test with protobuf>=3.8 (#8232)
- Relax tolerances in ChainerX unary math tests (#8235)
- Add Jenkins extras (#8252)
- Fix
HDF5Serializer
test for h5py<2.9 (#8256)
Others
- Replace Slack invitation links (#8284)