Giter VIP home page Giter VIP logo

khanx169 / hal_tutorial Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 6.0 3.85 MB

Materials for the tutorial I gave to new HAL system users on "Introduction to Deep Learning" at the National Center for Supercomputing Applications

Home Page: http://www.ncsa.illinois.edu/enabling/data/deep_learning/news/hal_fall19

Jupyter Notebook 100.00%
deep-learning keras-tensorflow visualization neural-networks

hal_tutorial's Introduction

Intro. to Deep Learning on HAL

Open In Colab Binder

This tutorial covers the basics of Deep Learning with Convolutional Neural Nets. The tutorial is broken into three notebooks. The topics covered in each notebook are:

  1. Intro.ipynb:

    • Linear Regression as single layer, single neuron model to motivate the introduction of Neural Networks as Universal Approximators that are modeled as collections of neurons connected in an acyclic graph
    • Convolutions and examples of simple image filters to motivate the construction of Convolutionlal Neural Networks.
    • Loss/Error functions, Gradient Decent, Backpropagation, etc
  2. Mnist.ipynb:

    • Visualizing Data
    • Constructing simple Convolutional Neural Networks
    • Training and Inference
    • Visualizing/Interpreting trained Neural Nets
  3. CIFAR-10.ipynb:

    • Data Generators
    • Overfitting
    • Data Augmentation

The tutorial is aimed at new hal system users. Below are brief instructions for getting started with HAL to run these notebooks.

HAL (Hardware-Accelerated Learning) cluster:

Brief description: "My name is HAL. I became operational on March 25 2019 at the Innovative Systems Lab in Urbana, Illinois. My creators are putting me to the fullest possible use, which is all I think that any conscious entity can ever hope to do." (paraphrazed from https://en.wikipedia.org/wiki/HAL_9000)

To request access to the system, please see the official wikipage: https://wiki.ncsa.illinois.edu/display/ISL20/HAL+cluster

Getting started with HAL

Quick Setup for this tutorial:

a) Log in to HAL:

  • ssh into hal: ssh <netid>@hal.ncsa.illinois.edu
  • Load PowerAI: module load powerai

Now clone the PowerAI conda envirnment (we'd need to install additional packages):

  • conda create --name [your_env_name] --clone powerai_env

Next activate your new environment and install keras, opencv, and jupyter.

b) git clone this repo to your home dir

c) Now let's run an interactive session with Jupyter Notebook:

  • Start an interaction session:

    swrun -p gpux1

  • Start a jupyter session on the compute node:

    unset XDG_RUNTIME_DIR

    jupyter notebook --ip=0.0.0.0 --port=6006

  • Tunnel into the compute node from local machine:

    ssh -L 8888:<remote_machine>:6007 <netid>@hal.ncsa.illinois.edu

  • Direct your webbrowser to: https://localhost:8888. It will prompt for a pass code, which can be found at $HOME/.jupyter/.jupyter_pass

To learn more about how to use HAL see the slides here and the official wikipage

References:

The code examples presented here are mostly taken (verbatim) or inspired from the following sources. I made this curation to give a quick exposure to very basic but essential ideas/practices in deep learning to get you started fairly quickly, but I recommend going to some or all of the actual sources for an in depth survey:

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.