-
Notifications
You must be signed in to change notification settings - Fork 4.3k
CNTK_2_0_Beta_6_Release_Notes
This is a summary of new features delivered with the Beta 6 release of CNTK V.2.0.
This release adds support of CUDA 8 on Linux (support on Windows was introduced in Beta 5). Binary packages for both Linux and Windows are built using NVIDIA CUDA 8.0. If you are a developer and building CNTK on your own system you can still continue using CUDA 7.5. However note, that this will change soon. See more details here.
Linux version of CNTK is now shipped with the support of Python 3.5. (Support for Windows version will be added soon). To enable Python 3.5 for your CNTK environment you need to pass the following parameter to the installation script:
./install-cntk.sh --py-version 35
If the script is called without any parameters (or with the parameter --py-version 34
) then Python 3.4 will be enabled.
See the full installation instructions for binary package on Linux here.
Previously sparse support was provided only in case of using the high-speed readers. Starting from this release it is also possible to provide data via one-hot vectors and CSR matrices.
One-hot vectors can be provided by calling one_hot(batch) on the minibatch of index data.
For sparse arrays scipy.sparse’s csr_matrix is supported. Any other format supported by scipy (e.g. CSC, DOK, or LIL) can be converted to CSR format via their .tocsr() function.
This is a small example of one_hot:
>>> import numpy as np
>>> import cntk as C
>>> num_classes = 6
>>> sparse_indices = [[1,5],[4]]
>>> i0 = C.input_variable(shape=num_classes, is_sparse=True)
>>> z = C.times(i0, np.eye(num_classes))
>>> value = C.one_hot(sparse_indices, num_classes)
>>> z.eval({i0: value})
[array([[ 0., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 1.]], dtype=float32), array([[ 0., 0., 0., 0., 1., 0.]], dtype=float32)]
We have prepared the following Examples and Tutorials:
- Video action recognition
- Sequence-to-Sequence (new tutorial)
- Finance Timeseries Basic with Pandas / Numpy
- Build Neural Character Language Models with CNTK
We have introduced the following changes to maintain backwards compatibility:
cntk.graph.find_nodes_by_name()
was renamed to find_all_with_name()
. In addition, there is now find_by_name(name)
method, which returns a single function or throws an error if there was not found exactly one match of that name. Both methods are also available directly from the function object, e.g.
input1 = z.find_by_name('input1')
save_model()
is now a method of every CNTK function. So instead of calling
save_model(z, filename)
you now need to execute
z.save_model(filename)
load_model()
works the same way as before but you import it from cntk.ops.functions
. See more in the Wiki article.
We also continue fine tuning new features and fixing different bugs - thank you once again for the constant feedback. You are not required to adopt your code or models to take an advantage of these improvements.