Skip to content

CNTK_2_0_RC_3_Release_Notes

Alexey Orlov edited this page May 24, 2017 · 11 revisions

CNTK v.2.0 RC 3 Release Notes

With the Release Candidate 3 we ship the last preview before the Microsoft Cognitive Toolkit V2 final release.

CNTK Core and Python API

  • Several APIs that were previously deprecated, have now been removed. See the table listing removed API and their replacements.
  • Support for static axes with unspecified dimensionality in input variable shapes, whose actual dimensionality is determined when the first minibatch data is bound for computation for the Function.
  • Support for free (dynamic) static axes in input variable shapes that infer the actual dimensionality value from bound data, and can change across different evaluations of the Function graph (Note: Currently some Functions like convolution and pooling do not support inputs with free static axes; this will be addressed soon).
  • New to_sequence operator converting non-sequence data to sequence data.
  • New sequence.unpack operator converting non-sequence data to sequence.
  • Convolution in 1D is now supported.
  • Added support for UDF serialization (implemented both in Python and native in C++).
  • Base64ImageDeserializer is now available in Python
  • Crosstalk is now in preview. This is a tool for comparing and converting tensors/parameters between different DL platforms. Currently only have limited support for CNTK and Tensorflow (v.0.12 or greater).
  • Introducing RNN Conversion tool to change optimized_rnnstack node to GEMM based RNNs, so the model can be used on CPU.

CNTK Java API

Java API is added to support model evaluation in Java on Windows and Linux. Note, that the API is still experimental and subject to change. Feedback from community is greatly appreciated. See the details at the following pages: Java API on Windows, and Java API on Linux.

cuDNN v.6.0 support when building CNTK from Source Code

It is now possible to build CNTK from Source Code using NVIDIA cuDNN Library v.6.0. This is what is needed to enable that:

  • Linux. Use the following parameter in `configure' script:
./configure --with-cudnn=/path/to/cudnn6
  • Windows. Set environment variable %CUDNN_PATH% to c:\path\to\cudnn6\cuda

Note, that v.2.0 RC 3 binary distribution and Docker Hub images are built using cuDNN 5.1.

Bug fixes, improvements, and recommendations

  • Please ensure that all RNG users (Dropout, RandomSample, RandomSampleWithFrequency and Parameter initialization) honor set_fixed_random_seed setting.
  • Added initial seed reader configuration option.
  • Minor usability improvements in device selection/locking.
  • Introduced preventing an infinite loop in random parameter initialization (an exception is raised if initializer scale is <= 0).
  • Made sigmoid and LogSum numerically stable.
  • Fixed backprop for LogSum.
  • Added support for input variables without any dynamic axes.
  • Added support for executing Function.eval before Function.grad.
  • Several improvements and bug fixes for UserFunction.

CNTK NuGet package

A new set of NuGet Packages is provided with this Release.

IMPORTANT! For Visual Studio: In the Manage Nuget Packages window change the default option Stable Only to Include Prerelease. Otherwise the release candidate package of CNTK will not be visible. This Package version is 2.0.0-rc3.

Clone this wiki locally