All Projects → probcomp → Gen Quickstart

probcomp / Gen Quickstart

Docker file for building Gen and Jupyter notebooks for tutorials and case studies

Projects that are alternatives of or similar to Gen Quickstart

Fraud Detection Using Deep Learning
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Fine grained classification
Fined grained classification On Car dataset
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Nlp essentials
Essential and Fundametal aspects of Natural Language Processing with hands-on examples and case-studies
Stars: ✭ 104 (+0%)
Mutual labels:  jupyter-notebook
Matgenb
Jupyter notebooks demonstrating the utilization of open-source codes for the study of materials science.
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Summerschool2016
Montréal Deep Learning Summer School 2016 material
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Pytorchnlpbook
Code and data accompanying Natural Language Processing with PyTorch published by O'Reilly Media https://nlproc.info
Stars: ✭ 1,390 (+1236.54%)
Mutual labels:  jupyter-notebook
Ai
机器学习、深度学习、自然语言处理、计算机视觉等AI领域相关技术的算法推导及应用
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Intro To Deep Learning
A collection of materials to help you learn about deep learning
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Survivalstan
Library of Stan Models for Survival Analysis
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Fma
FMA: A Dataset For Music Analysis
Stars: ✭ 1,391 (+1237.5%)
Mutual labels:  jupyter-notebook
How to make an image classifier
This is the code for the "How to Make an Image Classifier" - Intro to Deep Learning #6 by Siraj Raval on Youtube
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Gspan
Python implementation of frequent subgraph mining algorithm gSpan. Directed graphs are supported.
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
100daysofcode With Python Course
Course materials and handouts for #100DaysOfCode in Python course
Stars: ✭ 1,391 (+1237.5%)
Mutual labels:  jupyter-notebook
Notebooks
My IPython Notebooks
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
Face Id With Medical Masks
Face ID recognition with medical masks
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
K means clustering
This is the code for "K-Means Clustering - The Math of Intelligence (Week 3)" By SIraj Raval on Youtube
Stars: ✭ 103 (-0.96%)
Mutual labels:  jupyter-notebook
100 Pandas Puzzles
100 data puzzles for pandas, ranging from short and simple to super tricky (60% complete)
Stars: ✭ 1,382 (+1228.85%)
Mutual labels:  jupyter-notebook
Ec2 Spot Workshops
Collection of workshops to demonstrate best practices in using Amazon EC2 Spot Instances. https://aws.amazon.com/ec2/spot/
Stars: ✭ 104 (+0%)
Mutual labels:  jupyter-notebook
Solution Accelerator Many Models
Stars: ✭ 104 (+0%)
Mutual labels:  jupyter-notebook
Covid 19
A collection of work related to COVID-19
Stars: ✭ 1,394 (+1240.38%)
Mutual labels:  jupyter-notebook

Gen Quick Start

This repository contains Jupyter notebooks that contain tutorials on specific features and/or applications of Gen. The notebooks walk you through programs that use Gen. Some notebooks also include exercises that expect you to write code or fill in written responses.

These notebooks assume some familiarity with the Julia programming language.

For reference on Gen see:

Browser Requirements

Some of the notebooks make use of JavaScript-based visualizations that are displayed inline in the notebook. These have been tested successfully with recent versions of Firefox and Google Chrome on Ubuntu and Mac OS.

Docker Installation

The easiest way to run the notebooks is using Docker.

First obtain Docker (for Mac and Windows, for Linux).

If on Linux, make sure to run the post-installation steps so that you can run the docker commands smoothly without needing sudo access.

If on Mac, run the Docker application, and make sure that you see the Docker whale icon in your menu bar (when you click on the icon it should say "Docker Desktop is running").

Next, clone this Github repository using https and enter that directory:

$ git clone https://github.com/probcomp/gen-quickstart.git
$ cd gen-quickstart

Next, build the image using the following command:

$ docker build -t gen:v0 .

Then run the image using:

$ docker run -it --name gen -p 8080:8080 -p 8090:8090 -p 8091:8091 -p 8092:8092 gen:v0

Open localhost:8080 in your browser and open the 'Gen Quick Start.ipynb' notebook.

All the changes made to the notebooks will be saved in your docker container.

To stop the image, run ctrl+c.

To restart the image and resume your work, run:

$ docker start -ia gen

Manual Installation

These notebooks have been tested on Ubuntu Linux 16.04 and Mac OS X. To install Gen natively on your machine, please view the commands taken in the Dockerfile, which is based on Ubuntu Linux 16.04. The steps in the Dockerfile can be reproduced on your machine but will require slight variations depending on your local development setup.

Below is a brief documentation of the steps taken in the Dockerfile.

  1. Install global dependencies from Ubuntu APT.

    $ apt-get update -qq \
    && apt-get install -qq -y \
        hdf5-tools \
        python3-dev \
        python3-tk \
        wget \
        virtualenv \
        zlib1g-dev
    
  2. Create a Python virtual environment for use with the examples (make sure to create a virtual environment in a writable directory), and insatll the following packages into this environment with pip:

    • jupyter: used to run the notebook sever (required)
    • matplotlib: used in many of the notebooks for basic plotting (required)
    • tensorflow: (recommended)
    $ virtualenv -p /usr/bin/python3 /venv
    $ . /venv/bin/activate && pip install jupyter matplotlib tensorflow
    
  3. Download and install Julia. Note that we create a soft-link of the julia executable in /usr/bin/. You should create a soft link to the executable to any writable directory that is on your PATH.

    $ wget https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.3-linux-x86_64.tar.gz
    $ tar -xzv < julia-1.0.3-linux-x86_64.tar.gz
    $ ln -s /julia-1.0.3/bin/julia /usr/bin/julia
    
  4. Set the JULIA_PROJECT environment variable to /path/to/gen-quickstart/ (i.e. path where this repository was cloned). Make that JULIA_PROJECT is set correctly on your machine whenever working with Gen or with these examples.

    $ export JULIA_PROJECT=/path/to/gen-quickstart
    
  5. Build and precompile the Julia packages. The main libraries that are being built are PyCall and IJulia. We make sure that python (version 3 only) and jupyter are in our PATH and pointing to the right Python environment and Jupyter installation, respectively, by activating the Python virtual environment we created. Since we have activated the virtual environment in the commands below, the build() command uses the version of Python and Jupyter in the virtual environment. (For more information on how PyCall and IJulia find the right versions of python and jupyter, please see the respective documentation of those packages.)

    $ . /venv/bin/activate && julia -e 'using Pkg; Pkg.build()'
    $ . /venv/bin/activate && julia -e 'using Pkg; Pkg.API.precompile()'
    
  6. Run the Jupyter server! The notebooks should be available in your browser at localhost:8080. Remember to make sure that your JULIA_PROJECT is correctly set (step 4) before running this command again.

    $ . /venv/bin/activate && jupyter notebook \
                        --ip='0.0.0.0' \
                        --port=8080 \
                        --no-browser \
                        --NotebookApp.token= \
                        --allow-root \
                        --NotebookApp.iopub_data_rate_limit=-1
    

Running the Notebooks

Start by opening the 'Gen Quick Start.ipynb' notebook, which contains links to the other notebooks in the intended order.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].