Skip to content

v7.0.0a1

Pre-release
Pre-release
Compare
Choose a tag to compare
@kmaehashi kmaehashi released this 16 May 08:41
· 4246 commits to master since this release
0e60791

This is the release note of v7.0.0a1. See here for the complete list of solved issues and merged PRs.

Highlights

  • Many examples including ImageNet, DCGAN and VAE start supporting ChainerX arrays

New Features

Enhancements

  • Improve error message of gradient_check.check_double_backward (#6427)
  • Improve link_hooks.SpectralNormalization (#6655, thanks @crcrpar!)
  • ChainerX Op registration: normalization (#6719)
  • ChainerX Op registration: arithmetic (#6723)
  • Implement Relu in ChainerX (#6731, thanks @dido1998!)
  • Make device functions public (#6744)
  • ChainerX Op registration: creation (#6745)
  • ChainerX Op registration: linalg (#6746)
  • Allow snapshot_object have condition and writer option (#6762)
  • Support fallbacks of ChainerX on GetItem fail when indices contains chainerx.ndarray (#6769)
  • Fix Evaluator for chainer.dataset.converter (#6768)
  • Rename patients argument to patience in EarlyStoppingTrigger (#6784)
  • Remove Backend ctor and use CreateBackend (#6785)
  • ChainerX Op registration: pooling (#6800)
  • Define __str__ for Device classes (#6816, thanks @nishnik!)
  • Simplify numeric.h (#6832)
  • ChainerX Op registration: connection (#6833)
  • ChainerX Op registration: array members (#6834)
  • ChainerX Op registration: math (#6842)
  • Mixed dtypes: chainerx::Minimum (#6858)
  • Update distributions.independent (#6860, thanks @ganow!)
  • Add chainerx.ndarray.all and chainerx.ndarray.any (#6926)
  • Fix HuberLoss.forward avoid loss of significance (#6940)
  • Support Tensor Core in chainerx::Dot (#6960)
  • Fix F.get_item backward for ChainerX (#6991)
  • Support NumPy scalars in ChainerX arithmetics (#7004)
  • Implement NumPy-like pairwise reduction for stability (#7043, thanks @grafi-tt!)
  • Support mixed dtypes in Stack (#7058)
  • ChainerX Scalar / Array divisions (#7075)
  • Fix Reshape copy condition (#7080)
  • Fix trigger constructors to raise errors instead of assertion failures (#7101)
  • Support Tensor Core in chainerx::Conv (#7112)

Performance Improvements

  • Optimized ChainerX-to-CuPy ndarray conversion (#6204)
  • Use cuDNN in ReLU (#6993)
  • Fast integer scale unpooling (#7114, thanks @tkerola!)

Bug Fixes

  • Avoid throwing in destructors (#6725)
  • Fix TypeError during BN deserialization on Win64 (#6765, thanks @hyabe!)
  • Fix chainerx.astype casting from float16 to bool in CUDA (#6780, thanks @kshitij12345!)
  • Fix ArgMax of CUDA when all values are negative (#6783)
  • Fix unchain gradient pull (#6804, thanks @Rishav1!)
  • Remove chainerx.square fallback since it is implemented in C++ (#6823)
  • Fix stack overflow caused when to_gpu/to_cpu/to_intel64 were overridden (#6824)
  • Fix filename arg of PlotReport (#6866)
  • Make InvalidType picklable (#6884, thanks @zaltoprofen!)
  • Rename the macro name for AMinOp (#6922)
  • Fix terminal column width retrieval in backprop traceback in Python 2 (#6949)
  • Avoid using ImportError during import cupy (#6954)
  • Fix cuDNN descriptor double destroy (#6972)
  • Fix ConcatWithAsyncTransfer (#6992)
  • Set allow_pickle=True (#7036)
  • Fix subview of zero-sized arrays (#7037)
  • Fix At output offset (#7046)
  • Fix handling of ndarray offsets (#7047)
  • Fix construction of std::shared_ptr with custom deleter in chianer_interop.cc (#7107)
  • Fix build with clang (#7119)

Code Fixes

  • Check headers with clang-tidy (#6441)
  • Refactor CUDA batch norm tensor descriptor (#6724)
  • Fix comments and add TODO to indexing routines (#6789)
  • Add cuda_internal::DeviceInternals to wrap handle etc. (#6820)
  • Clean up DeviceInternals (#6827)
  • Rename CHAINERX_REGISTER_OP_{NATIVE,CUDA} to CHAINERX_{NATIVE,CUDA}_REGISTER_OP (#6865)
  • Add comments on del (#6933)
  • Unify variable names in gradient_check (#6935)
  • Align macro parameter name (#6941)
  • Introduce chainerx/kernels/ and rename existing device "op"s to "kernel"s (#6944)
  • Remove obsolete "Op" files (#6959)
  • Prefix macro with CHAINERX as per convention (#7022)
  • Use macro in exp_log.{cc/cu} (#7068)
  • Pass arguments by value in native::Float16 and cuda::Float16 (#7069)
  • Avoid importing object (#7110)

Documentation

  • Fix to clarify the description about initializer argument (#6317)
  • Add docs for two loss functions (#6349, thanks @hsezhiyan!)
  • Improve docs of square, maximum and squared_difference (#6451, thanks @aksub99!)
  • Append to v6 upgrade guide about Python 3.4 support drop (#6493)
  • Add reference and warning to F.swish document (#6509, thanks @fiarabbit!)
  • Document fix in default initializer (#6519)
  • Convert utilities docs to one page (#6595, thanks @trancenoid!)
  • Add chainer.get_device to doc (#6735)
  • Use search index (#6881)
  • Add chainerx.sigmoid docs (#6889, thanks @crcrpar!)
  • Fix typo in F.convolution_2d (#6890, thanks @crcrpar!)
  • Document chainer.testing.LinkTestCase (#6895, thanks @crcrpar!)
  • Update README.txt for a link to the tutorial (#6896)
  • Fix broken link in chainerx.md (#6899, thanks @tkat0!)
  • Document passive attributes in FunctionTestCase (#6931)
  • Fix documentation of renamed arguments (#6932)
  • Fix typo in pickle_dataset.py (#6942)
  • Update ChainerX contribution guide (#6951)
  • Support Sphinx 2.0 and use absolute path to support the latest RTD (#7027)
  • Fix link to ChainerMN docs in performance guide (#7044)
  • Update supported MPI list (#7086)
  • Document CHAINERX_ENABLE_BLAS environment variable (#7098, thanks @durswd!)
  • Move backend docs to a separate page (#7099)
  • Document backend and device objects (#7102)
  • Remove extra spaces in docstrings (#7125)
  • Fix AdamW docstring (#7137, thanks @crcrpar!)
  • Fix spelling of AMSGrad (#7138, thanks @crcrpar!)

Installation

  • CMake for Windows(clang-cl) (#7039, thanks @durswd!)
  • Exclude protobuf 3.8.0rc1 from dependencies (#7083)

Examples

  • Improve chainer examples (#6399, thanks @crcrpar!)
  • Fix reinforcement_learning example to work with default dtype (#6624)
  • Support default dtype in vae example (#6717)
  • Support ChainerX in reinforcement learning example (#6733)
  • Support ChainerX in wavenet example (#6736)
  • Trivial fixes to Wavenet example (#6737)
  • Support ChainerX in VAE example (#6739)
  • Support ChainerX in text classification example (#6769)
  • Support ChainerX in DCGAN example (#6773)
  • Support ChainerX in word2vec example (#6774)
  • Show download progress bar in image-captioning example (#6775)
  • Support ChainerX in memnn example (#6854)
  • Use filename in PlotReport example (#6880, thanks @crcrpar!)
  • Support ChainerX in CIFAR example (#6936)
  • Support ChainerX in POS-tagging example (#7081)
  • Support ChainerX in Sentiment example (#7087)
  • Add progress bar to sentiment analysis example (#7103)
  • Support ChainerX in Model Zoo example (#7129)

Tests

Others

  • Make it easier to copy the instruction in the issue template (#6665)
  • Make git ignore chainerx/libchainerx.dylib (#6666)
  • Add .mergify.yml (#7074)
  • Improve mergify configuration (#7111)