Git Product home page Git Product logo

deep-learning-csci-599-assignment-2's Introduction

CSCI-599 Assignment 2

The objectives of this assignment

  • Implement the forward and backward passes as well as the neural network training procedure for Recurrent Neural Networks (RNNs)
  • Learn the basic concepts of language modeling and how to apply RNNs
  • Implement popular generative model, Generative Adversarial Networks (GANs)

Work on the assignment

Please first clone or download as .zip file of this repository.

Working on the assignment in a virtual environment is highly encouraged. In this assignment, please use Python 3.5 (or 3.6). You will need to make sure that your virtualenv setup is of the correct version of python.

Please see below for executing a virtual environment.

cd CSCI599-Assignment2
pip3 install virtualenv # If you didn't install it
virtualenv -p $(which python3) /your/path/to/the/virtual/env
source  /your/path/to/the/virtual/env/bin/activate

# Install dependencies
pip3 install -r requirements.txt

# install tensorflow (cpu version, recommended)
pip3 install tensorflow

# install tensorflow (gpu version)
# run this command only if your device supports gpu running
pip3 install tensorflow-gpu

# Work on the assignment
deactivate # Exit the virtual environment

Work with IPython Notebook

To start working on the assignment, simply run the following command to start an ipython kernel.

# add your virtual environment to jupyter notebook
python -m ipykernel install --user --name=/your/path/to/the/virtual/env

# port is only needed if you want to work on more than one notebooks
jupyter notebook --port=/your/port/

and then work on each problem with their corresponding .ipynb notebooks. Check the python environment you are using on the top right corner. If the name of environment doesn't match, change it to your virtual environment in "Kernel>Change kernel".

Problems

In each of the notebook file, we indicate TODO or Your Code for you to fill in with your implementation. Majority of implementations will also be required under lib with specified tags.

Problem 1: (60 points)

The IPython Notebook Problem_1.ipynb will walk you through implementing a recurrent neural network (RNN) from scratch.

Problem 2: Generative Adversarial Networks (40 points)

The IPython Notebook Problem_2.ipynb will help you through implementing a generative adversarial network (GAN) using TensorFlow.

PLEASE DO NOT CLEAR THE OUTPUT OF EACH CELL IN THE .ipynb FILES

Your outputs on the .ipynb files will be graded. We will not rerun the code. If the outputs are missing, that will be considered as if it is not attempted.

How to submit

Run the following command to zip all the necessary files for submitting your assignment.

sh collectSubmission.sh

This will create a file named assignment2.zip, please rename it with your usc student id (eg. 4916525888.zip), and submit this file through the Google form. Do NOT create your own .zip file, you might accidentally include non-necessary materials for grading. We will deduct points if you don't follow the above submission guideline.

Questions?

If you have any question or find a bug in this assignment (or even any suggestions), we are more than welcome to assist.

Again, NO INDIVIDUAL EMAILS WILL BE RESPONDED.

PLEASE USE PIAZZA TO POST QUESTIONS (under folder assignment2).

deep-learning-csci-599-assignment-2's People

Contributors

antopraju avatar

Stargazers

 avatar

Watchers

James Cloos avatar  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.