-
Notifications
You must be signed in to change notification settings - Fork 4.3k
CNTK_2_0_RC_3_Release_Notes
With the Release Candidate 3 we ship the last preview before the Microsoft Cognitive Toolkit V2 final release.
- Several APIs that were previously deprecated, have now been removed. See the table listing removed API and their replacements at the end of these Release Notes.
- Support for static axes with unspecified dimensionality in input variable shapes, the actual dimensionality is determined when the first minibatch data is bound for computation by 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_sequenceoperator converting non-sequence data to sequence data. - New
sequence.unpackoperator converting non-sequence data to sequence. - Convolution in 1D is now supported.
- Added support for UDF serialization (available both in Python and native in C++).
-
Base64ImageDeserializeris 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_rnnstacknode to GEMM based RNNs, so the model can be used on CPU.
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.
CNTK v.2.0 RC 3 binary distribution and Docker Hub images are built using cuDNN 5.1. However, 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. Pass the path to cuDNN via the parameter in `configure' script. Example:
./configure --with-cudnn=/path/to/cudnn6
-
Windows. Set environment variable
%CUDNN_PATH%to to the cuDNN installation path, e.g.c:\path\to\cudnn6\cuda
- RNG users (
Dropout,RandomSample,RandomSampleWithFrequencyand Parameter initialization) need to be sure to honorset_fixed_random_seedsetting. - Added
initial seedreader configuration option. - Minor usability improvements in device selection/locking.
- Preventing an infinite loop in random parameter initialization (an exception is raised if
initializerscale is <= 0). - Made
sigmoidandLogSumnumerically stable. - Fixed backprop for
LogSum. - Added support for
inputvariables without any dynamic axes. - Added support for executing
Function.evalbeforeFunction.grad. - Several improvements and bug fixes for
UserFunction. - Several sparse data handling fixes.
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.
In CNTK 2.0 RC 3 we have removed the API mentioned in the table below. All API were previously declared as deprecated. Also see what API are replacing the deprecated and removed ones.
| Removed API (was previously deprecated) | Replacement API | Comments |
|---|---|---|
Axis.end_static_axis() |
Axis.new_leading_axis() |
Creates an Axis object representing a new leading static axis |
Module blocks
|
Module layers
|
blocks module should not be imported separately anymore. Only import layers which includes blocks
|
MinibatchData.value |
asarray(), as_sequences(), or data
|
Use asarray() or as_sequences() to get the data in numpy/scipy representation or data to get the opaque underlying Value object representation |
MinibatchSource constructor parameters:a) randomization_window, sample_based_randomization_windowb) epoch_size
|
Replacements for removed MinibatchSource constructor parameters:a) randomization_window_in_chunks or randomization_window_in_samplesb) max_samples or max_sweeps
|
|
cntk.future_valuecntk.ops.future_valuecntk.past_valuecntk.ops.past_value
|
cntk.sequence.future_valuecntk.ops.sequence.future_valuecntk.sequence.past_valuecntk.ops.sequence.past_value
|
|
cntk.placeholder_variablecntk.ops.placeholder_variable
|
cntk.placeholdercntk.ops.placeholder
|
|
cntk.set_default_devicecntk.device.set_default_device
|
cntk.try_set_default_devicecntk.device.try_set_default_device
|
|
cntk.layers.LayerStack |
cntk.layers.For |
|
cntk.logging.graph.output_function_graph |
cntk.logging.graph.plot |
|
Function.save_modelFunction.restore_modelcntk.save_model
|
Function.saveFunction.restoreFunction.save
|