CNTK_2_0_Beta_11_Release_Notes

This is a summary of new features delivered with the Beta 11 release of CNTK V.2.0.

Breaking changes

This release contains the following breaking changes:

  • Some changes were made to CNTK APIs. Please update your code as follows:
    • All imports from cntk.blocks should be changed to cntk.layers
    • Change calls to Trainer() from Trainer(model, loss, metric, learners) to Trainer(model, (loss, metric), learners)
    • Calls to splice() should be changed from splice([a, b, c], 'my_name') to splice(a, b, c, name='my_name')
    • Change LayerStack(N, ...) to For(range(N), …)
    • Calls to reduce_log_sum() need to be renamed to reduce_log_sum_exp()
    • Explicit calls to plus(), log_add_exp() and element_times() that pass a name must use the keyword name=...
    • Change calls to save_model() and restore_model() to save() and restore(), respectively. Further, load_model() can now optionally be written as Function.load()
  • CNTK NuGet package:

New and updated features

  • New reduce_prod primitive
  • Support for reductions across all axes (including batch and sequence axes)
  • Improved denominator sharing in Batch Normalization. batch_normalization (cntk.ops) now takes an additional required parameter for the running mean sample count, which can be initialized with constant(0)
  • Added support for randomization window specified in terms of a number of chunks. Fix the default value for randomization window: unless explicitly overridden, it now defaults to 128 chunks. For more details, please see the section that describes randomizationWindow parameter:
  • New Python and BrainScript for VGG16 and 19
  • Optimized memory management for convolution workspace, and now a larger (~30% for VGG) minibatch size can be used for training
  • Profiler support in Python.
  • Added support in training session for cross validation and preservation of all checkpoints

New Examples and Tutorials

  • Transfer learning example to train custom image classifiers

CNTK Evaluation library. NuGet package

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

IMPORTANT! In Visual Studio Manage NuGet Packages Window change the default option Stable Only to Include Prerelease. Otherwise the packages will not be visible. The Package version should be 2.0-beta11.

IMPORTANT! NuGet package in this Release contains a breaking change related to Assembly Strong Name enabling. See Breaking changes section in the beginning of these Release Notes.

Bug fixes

  • Re-enable image rendering in Python notebooks when used with GitHub web viewer