Giter Club home page Giter Club logo

ml-training-material's Introduction






ICCS Machine Learning with PyTorch Training

GitHub CC BY-NC-SA 4.0

This repository contains documentation, resources, and code for the Introduction to Machine Learning with PyTorch session delivered by @jatkinson1000 and @jdenholm of ICCS at the 2023 summer school.

Contents

Preparation and prerequisites

To get the most out of the session we expect a basic understanding in a few areas and for you to do some preparation. Topics expected are outlined below, along with some resources for reading if you are unfamiliar.

Mathematics and Machine Learning

Basic knowledge of:

  • calculus - differentiating a function
  • matrix algebra - matrix multiplication and representing data as a matrix
  • regression - fitting a function to data

Neural Networks:

Python

The course will be taught in python using pyTorch. Whilst no prior knowledge of pyTorch is expected we assume users are familiar with the basics of Python3. This includes:

  • Basic mathematical operations
  • Writing and running scripts/programs
  • Writing and using functions
  • The concept of object orientation (that an object, e.g. a dataset, can have associated functions/methods associated with it.)
  • Basic use of the following libraries:
    • numpy for mathematical and array operations
    • matplotlib for ploting and visualisation
    • pandas for storing and accessing tabular data
  • Familiarity with the concept of a jupyter notebook

git and GitHub

The course from day 1 of the summer school should provide the neccessary knowledge. You will be expected to know how to clone and/or fork a repository, commit, and push.

Preparation

In preparation for the course please ensure that your computer contains the following:

Note for Windows users: We have linked suitable applications for windows in the above lists. However, you may wish to refer to Windows' getting-started with python information for a complete guide to getting set up on a Windows system.

If you require assistance or further information with any of these please reach out to us before the school.

Installation and setup

1. Clone or fork the repository

Navigate to the location you want to install this repository on your system and clone via https by running:

git clone https://github.com/Cambridge-ICCS/ml-training-material.git

This will create a directory ml-training-material/ with the contents of this repository.

Please note that if you have a GitHub account and want to push any work you might do back up for future reference we suggest you fork the repository and then clone your fork.

2. Create a virtual environment

Before installing any Python packages it is important to first create a Python virtual environment. This provides an insulated environment inside which we can install Python packages without polluting the operating systems's Python environment.

If you have never done this before don't worry: it is very good practise, especially when you are working on multiple projects, and easy to do.

python3 -m venv MLvenv

This will create a directory called MLvenv containing software for the virtual environment. To activate the environment run:

source MLvenv/bin/activate

You can now work on python from within this isolated environment, installing packages as you wish without disturbing your base system environment.

When you have finished working on this project run:

deactivate

to deactivate the venv and return to the system python environment.

You can always boot back into the venv as you left it by running the activate command again.

3. Install dependencies

It is now time to install the dependencies for our code, for example PyTorch. The project has been packaged with a pyproject.toml so can be installed in one go. From within the root directory in a active virtual environment run:

pip install .

This will download the relevant dependencies into the venv as well as setting up the datasets that we will be using in the course.

Teaching Material

Slides

The slides for this workshop are generated from markdown using quarto. The raw markdown and html files can be found in the slides directory. The slides can be viewed on the ICCS Summer School Website:

Exercises

The exercises that we will be working on can be found in the exercises directory. These take the form of jupyter notebooks.

License

The code materials in this project are licensed under the MIT License.

The teaching materials are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

ml-training-material's People

Contributors

jdenholm avatar jatkinson1000 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.