This repository is aimed to provide simple and ready-to-use tutorials for CNTK. Each tutorial has a source code
.
Deep Learning is of great interest these days - there's a need for rapid and optimized implementations of the algorithms and deep architectures. Microsoft Cognitive Toolkit (CNTK) is designed to provide a free and fast-and-easy platform for facilitating the deep learning architecture design and implementation. CNTK demonstrated to be superior compared to the famous TensorFlow in performance (Benchmarking State-of-the-Art Deep Learning Software Tools: report, paper).
CNTK
is new and it's hard to find easy-to-use code examples and tutorials for learning by doing!
The Microsoft itself provided a nice comprehensive Tutorials Series on what is CNTK and how to design
and implement the deep architectures. However, sometimes its tutorials may become too verbose and complicated especially
with data-reader objects and preprocessing phases. So there is a need for an open-source project to satisfy the followings:
- Covers the basic models.
- Be as simple as possible but not simpler than what is required!
- Be actively underdeveloped by the people of GitHub and not only the people on Microsoft!
- Examples must be run with one push of a button and not more!
- And etc, which needs to be added by people who are following this project!
We hope that those aforementioned lines would be satisfied in this project.
The tutorials in this repository are partitioned into relevant categories.
Installation | CNTK Installation |
1 | Start-up | Python / IPython |
2 | Basic Operations | Python / IPython |
1 | Linear Regression | Python / IPython |
2 | Logistic Regression | Python / IPython |
1 | Multi Layer Perceptron | Python / IPython |
2 | Convolutional Neural Networks | Python / IPython |
3 | Autoencoders (undercomplete) | Python / IPython |
1 | Conditional Deep Convolutional GAN | Python / IPython |
In order to install CNTK please refer to the following link:
The virtual environment installation is recommended in order to prevent package
conflict and having the capacity to customize the working environment. Among different
methods of creating and utilizing virtual environments, working with conda
is
recommended.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. For typos, please do not create a pull request. Instead, declare them in issues or email the repository owner.
Please note we have a code of conduct, please follow it in all your interactions with the project.
Please consider the following criterions in order to help us in a better way:
- The pull request is mainly expected to be a code script suggestion or improvement.
- A pull request related to non-code-script sections is expected to make a significant difference in the documentation. Otherwise, it is expected to be announced in the issues section.
- Ensure any install or build dependencies are removed before the end of the layer when doing a build and creating a pull request.
- Add comments with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- You may merge the Pull Request in once you have the sign-off of at least one other developer, or if you do not have permission to do that, you may request the owner to merge it for you if you believe all checks are passed.
We are looking forward to your kind feedback. Please help us to improve this open source project and make our work better. For contribution, please create a pull request and we will investigate it promptly. Once again, we appreciate your kind feedback and elaborate code inspections.