Counting 2,129 Big Data & Machine Learning Frameworks, Toolsets, and Examples...
Suggestion? Feedback? Tweet @stkim1

Author
Contributors
Last Commit
Dec. 9, 2017
Created
Jul. 25, 2017

CNTK World

https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat https://badges.frapsoft.com/os/v2/open-source.svg?v=102

This repository is aimed to provide simple and ready-to-use tutorials for CNTK. Each tutorial has a source code.

_img/mainpage/CNTK-World.gif

Table of Contents

Motivation

Why using CNTK?

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).

What's the point of this repository?

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:

  1. Covers the basic models.
  2. Be as simple as possible but not simpler than what is required!
  3. Be actively underdeveloped by the people of GitHub and not only the people on Microsoft!
  4. Examples must be run with one push of a button and not more!
  5. 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.

CNTK Tutorials

The tutorials in this repository are partitioned into relevant categories.


PART 0 - Installation

alternate text
Installation CNTK Installation

PART 1 - Basics

alternate text

1 Start-up Python / IPython
2 Basic Operations Python / IPython

PART 2 - Basic Models

alternate text

1 Linear Regression Python / IPython
2 Logistic Regression Python / IPython

PART 3 - Neural Networks

alternate text

1 Multi Layer Perceptron Python / IPython
2 Convolutional Neural Networks Python / IPython
3 Autoencoders (undercomplete) Python / IPython

PART 4 - Advanced

alternate text

1 Conditional Deep Convolutional GAN Python / IPython

CNTK Installation and Setup the Environment

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.

Contributing

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.

Pull Request Process

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.

Final Note

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.