Git Product home page Git Product logo

mlpp's Introduction

Final Project Repository Template

This is the final project repository template for Machine Learning with Probabilistic Programming.

Duplicating your own copy of this repository

Please follow these instructions to make a copy of this repository and push it to your own GitHub account.

Make sure to create a new repository on your own GitHub account before starting this process.

Final Project Notebook

We have included a example of a Jupyter notebook under /notebook-example/example.ipynb. This shows how to use markdown along with LaTeX to create section headings and typeset math.

Your final project notebook should go under /final-project/final-notebook.ipynb. This notebook will be your final report. We must be able to run it in a reasonable amount of time. (If your project involves a massive dataset, please contact me.)

Your final report should be 8 pages long. Since it is hard to translate between a Jupyter notebook and page numbers, we've come up with the following metric:

the Markdown export of your notebook should be approximately 1500 words.

To compute this, save your Jupyter notebook as a Markdown file by going to

File > Download as > Markdown (.md)

and then counting the words

wc -w final-notebook.md

Since this includes your code as well, we encourage you to develop separate python scripts and include these in your final notebook. My recommendation is that you only do basic data loading, manipulation, and plotting within Jupyter; do all of the heavy lifting in separate Python files. (Note our strict guidelines on coding style below.)

Structure

Your notebook should follow the basic structure described in the project proposal template. Make sure to clearly indicate section headings and to present a clear narrative structure. Every subsection of your report should correspond to a particular step of Box's loop. Feel free to include images; you can embed them in markdown cells.

Development

Use Python 3.7+. (I use Python 3.7.2).

Configure a virtual environment. Follow the documentation here. (I like to use virtualenvwrapper.)

Once you activate the virtual environment, use pip to install a variety of packages.

(venv)$ pip install -r requirements.txt

This should install Pyro, along with Jupyter and other useful libraries. You should see a message at the end that resembles something like

Successfully installed appnope-0.1.0 ...

Additional dependencies

If you introduce any new dependencies to your final project, you MUST update requirements.txt with pinned versioning.

Git stuff

There is a comprehensive .gitignore file in this repository. This should prevent you from committing any unnecessary files. Please edit it as needed and do not commit any large files to the repository. (Especially huge datasets.)

Code styling

Any additional code you write must pass flake8 linting. See this blog post for details.

The first thing we will do after cloning your repository is:

(venv)$ flake8

If your repository fails any checks, we will deduct 20% from your final project grade.

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.