Neural networks are used as a method of machine learning, one of the many subfields of artificial intelligence. They were first proposed around 70 years ago as an attempt at simulating the way the human brain works, though in a much more simplified form.
In recent years, due to advancements in hardware development, we have been able to build very deep neural networks, and train them on enormous datasets to achieve breakthroughs in machine intelligence.
In this workshop, you will implement a small subsection of image classification —digit recognition. Using Pytorch, an open-source Python library developed by Facebook, you will take hand-drawn images of the numbers 0-9 and build and train a neural network to recognise and predict the correct labels for the digits displayed.
This repository contains instructions for setting up your own development environment to get you started with machine and deep learning technologies. Workshop assignments for intro to ML workshop is included in the notebooks
folder.
While you won't need prior experience in practical machine learning or Pytorch to follow along with this class, we'll assume some familiarity with:
- Python programming language: See Udacity - Intro to Python
- High school linear algebra: See 3Blue1Brown - Essence of linear algebra
- Multivariable Calculus: See- Khanacademy - Introduction to Multivariable Calculus
This workshop consists of two activities:
- Setting up your development environment, downloading the required packages and testing everything works.
- Completing the Jupyter notebook assignments.
Note: If you get stuck, take a look at the solutions notebook. It is recommended that you solve your problem as far as you can via googling. Only refer to the solutions notebook if you are frustrated.
- Download and install Anaconda.
- Setup your environment using the instructions within the
setup
folder. - Clone this git reposiroty using
git clone https://github.com/beginners-machine-learning-london/intro_to_machine_learning_with_pytorch.git
- Open Jupyter Notebook and complete the code snippets.
- Use the Pytorch documentation as required when you get stuck to find example codes you can use.
- Train the model.
- Measure the accuracy of your trained model. What is the accuracy?
- Python: Python is a programming language that lets you work more quickly and integrate your systems more effectively.
- Pytorch: An open source deep learning platform that provides a seamless path from research prototyping to production deployment.
- Udacity AI Programming Nanodegree: Enjoyed this workshop? The content was inspired from Udacity's AI programming with Python nanodegree.
- More advanced application of Pytorch: Image Classification with large number of classes - Checkout how I have used pytorch to classify pictures of flowers from a large number of classes.
- Foundations of Deep Learning: Deep Lizard - Machine Learning & Deep Learning Fundamentals
- BML Slack Channel - Join our slack workspace to collaborate with others, discuss ideas and post any questions you have about our group or the workshops
- Have questions about workshop exercises or setting up your local machine? Post them here
- How was this workshop? Please provide us with some feedback here so that we can improve the content and delivery of future workshops.