Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
This is the second major version. See the list for the complete list of solved issues and merged PRs (the list only shows the difference from v2.0.0b1; see the Release Note section below for the difference from v1.24.0).
- CuPy has been separated from Chainer into an independent package: CuPy.
- It means you need to install CuPy if you want to enable GPU for Chainer.
- Following this installation guide is recommended to enable GPU.
- Related to the CuPy separation, we cut the support of some old versions of CUDA and cuDNN. The following versions will be supported in Chainer v2.0.0 and CuPy 1.0.0.
- CUDA 7.0 or later
- cuDNN 4.0 or later
- The repository of Chainer is moved from pfnet/chainer to chainer/chainer. The old URL can be used by git, with which any operations will be redirected to the new one.
- For Chainer v1.x Users:
- Here is the Upgrade Guide that describes the details of differences from v1.
- For contributors:
- We strongly recommend you to read the Contribution Guide again, which contains many updates.
- As is explained in the Contribution Guide, we have changed the development and release cycle.
The main development will be continued on the master branch, which will correspond to the next pre-releases of v3 (including alpha, beta, and RC). The maintenance of v2 will be done at v2 branch.
- If you want to send a pull request, please send it to the master branch unless you have a special reason.
New Features and Changed APIs
L.StatelessGRUand change the implementation of
- Make input size/channels optional (#2159, #2045)
- Aggressive Buffer Release (#2368, #2586 (thanks @anaruse!))
- Related to the buffer release, the following functions release inputs:
chainer.config.cudnn_deterministic: cuDNN Deterministic mode (#2574, #2710)
- Add new APIs of parameter/link registration to Link/Chain (#1970, #2657)
- Purge the graph when reporting a variable (#2054, #2640)
- Raise an error when an obsolete argument is given (#2556)
zerogradsby default (#2521, #2549)
- Fix the inconsistent naming convention between LSTM and GRU (#2285, #2510, #2537)
- Support numpy like
Variable(#2455, thanks @fukatani!)
- Clean APIs of
L.Linearand convolution-like links related to the bias argument (#2180, #2185)
- Remove deprecated methods of
- Make bias vector enabled by default in
- Remove unnecessary imports from
- Check old arguments which are not supported in v2 to show an error message. (#2641)
- Raise an error when the
volatileflag is given (#2718)
- Fix a bug of Hyperparameter on deep copy (or, strictly speaking, on unpickling) in Py3.6 (#2761)
Copy.backwardto check input device (#2668)
- Fix for the environment without cuDNN (#2790)
- Check h5py version when serializing
- Fix the initial weight of
EmbedID(#2694, thanks @odanado!)
DebugPrintextension to support removed inputs (#2667)
The following PR has been sent to v1.24.0 and merged but we mistakenly failed to add this PR to the previous release note, so now we list this up here and appreciate @himkt for the contribution!
- Fix the location of
- Remove unnecessary sentence from
- Improve doc of
F.softmax(#2751, thanks @tma15!)
- Write the Upgrade Guide (#2741)
- Fix documentation errors (#2760)
- Update the Installation Guide for v2.0.0 (#2729)
- Renew the readme (#2692)
- Remove an obsolete document in
use_cleargradsfrom tutorial (#2645)
- Fix a mistake in grammar (#2571, thanks @soramichi!)
- Update API Compatibility Policy (#2778)
- Remove the license for CuPy (#2786)
- Update the Contribution Guide (#2773)
- Update the tutorial (#2762)
- Fix several typos in tutorial (#2737, thanks @PeterTeng)