@unnonouno unnonouno released this Feb 14, 2017 · 8756 commits to master since this release

Assets 2

This is a minor release. See the list for the complete list of solved issues and merged PRs.

New features

  • Chainer
    • Add UnpoolingND function (#1517)
    • Add chainer.functions.fliplr and chainer.functions.flipud (#2239, #2249)
    • Add marker and grid attribute to PlotReport(#2123)
    • Trainer.extend can accept lambda functions as an extension (#1930, thanks @soramichi)
    • Add strict option to HDF5Deserializer and NpzDeserializer (#2053, #2195)
    • Make chainer.dataset.to_device public (#2087)
  • Cupy
    • Add cupy.cumsum without axis argument support (#2235)
    • Make cupy.ndarray.__setitem__ accept boolean arrays (#2099, thanks @yuyu2172)
    • Make cupy.scatter_add accept boolean arrays (#2175, thanks @yuyu2172)
    • Add order option to cupy.ndarray.copy (#2178, thanks @yuyu2172)
    • cupy.ndarray.__setitem__ can accept multiple integer arrays (#2126, thanks @yuyu2172)
    • cupy.random.distribution can accept an array of float values as loc and scale argument (#2169)
    • cupy.ndarray.__getitem__ support mask whose shape is different from that of the array (#2201, thanks @yuyu2172)
    • Change behavior of complete_slice to fit numpy 1.12.0 (#2114)
    • Add wrappers for FindConvolution functions of cuDNN (#2147, thanks @yuyu2172)
    • Add global variables introduced in cuDNN v5.1 (#2148, thanks @yuyu2172)
  • Support Python 3.6 (#2115)
  • Support NumPy 1.12(#2116)

Bug fixes

  • cupy.ndarray.shape.__set__ accept scalar values (#1969, #2129)
  • Fix import error of PReLU (#2007, #2128, thanks @kamo-naoyuki)
  • cupy.ndarray.get can work even if current device and the device array is located is not identical (#2141, #2142, thanks @yuyu2172)
  • cupy.ndarray.get can accept array with size 0 (#2172)
  • Fix returned values of Stream.done and Event.done (#2237)
  • Fix an error caused by the difference between Python int and C long (#2156)
  • Fix to handle two int32’s ('i' and 'I') of NumPy correctly (#2184)
  • Variable.backward correctly handle cudaErrorNoDevice (#2245, thanks @niboshi)
  • Remove redundant error raise when import of CuPy failed (#2246)
  • Forbid to initialize links with uninitialized parameters (#2199, #2200)
  • Add wrongly-missing eps to calculated variance in fixed_batch_normalization(#2214)
  • Fix a bug related to GIL in handling cuBLAS functions (#2226)
  • Correct error handling in making the cache directory for CUDA kernels (#2264)

Improvements

  • Performance improvement
    • Speed up in cupy.get_array_module (#2162)
    • Improve cupy.concatenate (#2144, #2242, #2233, #2248, #2251)
    • Improve the performance of asfortranarray (#2176, thanks @yuyu2172)
    • Improve cupy.ndarray.device (#2247)
    • Improve the performance of cupy.nadarray.__setitem__ (#2227)
    • Improve the performance of Variable.backward (#2224)
    • Improve in handling tensors in cuDNN via improvement on creation of tensor descriptors cuDNN (#2228)
    • Improve GPU calculation of convolution_2d function (#2192, thanks @fukutani)
    • Improve the performance of transpose_sequence (#2212)
    • Improve the performance of NStemLSTM (#2219, 2261)
    • Improve the performance of cupy.ndarray.__getitem__ when inputs are integer arrays. (#2134, thanks @yuyu2172)
    • Improve the performance of boolean array indexing of cupy.ndarray.__getitem__ (#2174, thanks @yuyu2172)
    • Improve the performance of cupy.array_split (#2165)
    • Improve the performance of cupy.asarray and cupy.asanyarray by calling cupy.array implementation directly (#2225)
  • cuda.get_array_module can accept Variable (#2050)
  • Memory pool in CuPy calls GC in allocating memory if memory is not enough (#2257, #2262)
  • Improve the error message of cupy.reshape when input array is invalid (#2193, thanks @fukutani)
  • Make the error massage of type checking in Chainer functions more readble (#2082)
  • Improve error messages in SerialIterator (#2160, #2234, thanks @LukasDrude)

Others

  • Improve documents of clipped_relu and relu, sigmoid and linear. (#2208, thanks @shiba24)
  • Remove fs attribute from CaffeFunction document (#2130, #2131)
  • Improve document of chainer.functions.sigmoid function (#1907)
  • Add chainer.functions.n_stem_lstm to the document (#2039)
  • Add document on cupy.scatter_add.at (#2206, thanks @yuyu2172)
  • Improve document of chainer.functions.linear (#2189, thanks @shiba24)
  • Add for_orders and for_CF_orders decorator for unit tests (#2105, thanks @yuyu2172)
  • Fix example to download ResNet model manually (#1904, #2196, thanks @aonotas)
  • Add Dockerfile for Python3 (#2190)