• Stars
    star
    123
  • Rank 289,116 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Solutions of assignments of Deep Reinforcement Learning course presented by the University of California, Berkeley (CS285) in Pytorch framework

MIT License LinkedIn


CS285

Pytorch Version of homework assignments of Deep Reinforcement Learning Course
Presented by Dr. Sergey Levin at University of California, Berkeley

Report Bug

Table of Contents

About The Project

In this project, we aim to create a Pytorch version of CS285 course whose Tensorflow 1 version is already available at here.

Main Goals

  1. Converting all the Tensorflow 1 code to the newest version of Pytorch
  2. The current version Mujoco environment that has been used in this project is old which requires only using Python < 3.6 version. Therefore, we seek to make this project compatible with the newer version of this library and, consequently, Python >= 3.6.

Completed So Far

  1. Homework 1, 2, 3, and 4 Tensorflow codes have been fully replaced by Pytorch.

Getting Started

Currently, this project is under development, and the same libraries that have been employed in the Tensorflow version of these assignments plus Pytorch are required for running the assignments of this project. However, we are eager to use the versions of these libraries that are presented in the prerequisites section for the future release of this project.

Prerequisites

The libraries that we want to use in the future are as follows.

  • Python >= 3.6
  • Gym >= 0.17
  • Mujoco-py >= 2.0
  • Pytorch >= 1.5.1
  • TensorboardX
  • Matplotlib
  • Ipython
  • Moviepy
  • OpenCV
  • Box2d-py

Usage

The instructions for execution of all of these assignments are given in the Readme documents that are located in each of the homework directories.

Roadmap

See the open issues for a list of known issues.

Contributing

Unfortunately, the current version of this repository is not compatible with the latest versions of libraries, such as Tensorflow and Mojocu-py. As a result, installing the proper versions of these libraries, which can enable you to contribute to this repo, could be a hard challenge. However, since I have been faced with this problem before, I designed a certain number of steps that you can take to install the right versions of these libraries.

  1. Create a new Conda environment based on Python 3.5 and install matplotlib, ipython, and pytorch. Then, activate it.
conda create -n cs285_env python=3.5 matplotlib ipython pytorch=1.5.0
source activate cs285_env
  1. Clone this repository
  2. Install mujoco-py
    1. Get mujoco license key file from its website
    2. Create a .mujoco folder in the home directory and copy the given mjpro150 directory and your license key into it
    mkdir ~/.mujoco/
    cd <location_of_your_license_key>
    cp mjkey.txt ~/.mujoco/
    cd <this_repo>/mujoco
    cp -r mjpro150 ~/.mujoco/
    1. Add the following line to bottom of your .bashrc file:
    export LD_LIBRARY_PATH=~/.mujoco/mjpro150/bin/
    1. Build and install mujoco-py 1.50.1.1. It can be downloaded from this link.
    tar -xzf mujoco-py-1.50.1.1.tar.gz 
    cd mujoco-py-1.50.1.1
    python setup.py install
  3. Install rest of the libraries given in contribution_requirements.txt file using pip
pip install --user --requirement contribution_requirements.txt
  1. At last, it should be considered that before executing scripts of each homework folder (e.g., hw1), you should allow your code to be able to see 'cs285' by executing the following lines:
cd <path_to_hw>
pip install -e .

License

Distributed under the MIT License. See LICENSE file for more information.

Contact

Erfan Miahi - @erfan_mhi - [email protected]

Project Link: https://github.com/erfanMhi/Deep-Reinforcement-Learning-CS285-Pytorch

More Repositories

1

A-quantum-inspired-genetic-algorithm-for-k-means-clustering

Implementation of a Quantum inspired genetic algorithm proposed by A quantum-inspired genetic algorithm for k-means clustering paper.
Jupyter Notebook
31
star
2

Genetic-algorithms-for-credit-scoring

Implementation of Genetic Algorithm for feature selection of neural networks proposed by Genetic algorithm-based heuristic for feature selection in credit risk assessment paper.
Jupyter Notebook
24
star
3

base_reinforcement_learning

This is the code-base that I personally use as the starting point for any reinforcement learning codebase with the purpose of fast experimentation and analysis.
Python
11
star
4

Persian-Digits-Recognizer

A well documented Jupyter notebook for learning how you could recognize Persian digits using CNNs.
Jupyter Notebook
10
star
5

cs224n_Assignments

Stanford University cs224n Assignments solutions
Python
10
star
6

erfanmhi.github.io

My CV
HTML
8
star
7

Digit_Recognizer

Trying different Neural network models to see how they work on digit recognizer challenge by Kaggle.
Jupyter Notebook
7
star
8

Algorithm-Design-Projects

Jupyter Notebook
6
star
9

Pytorch-Useful-Snippets

We aught to design a library which contains many useful snippets that can help us write less amount of code in Pytorch
Python
4
star
10

Deep-Learning-Summer-School

Deep learning summer school assignments
Jupyter Notebook
4
star
11

RNN-For-Tap30-competition

An Ipython notebook, shows how I solved Tap30 Competition problem by kaggle using Recurrent neural networks.
Jupyter Notebook
4
star
12

kdnuggets-data-mining-course

Jupyter Notebook
4
star
13

Applied-Plotting-Charting-Data-Representation-in-Python-Assignments

This repository contains solved assignments of Applied Plotting, Charting & Data Representation in Python course
Jupyter Notebook
4
star
14

CV

My Latex Resume
TeX
3
star
15

Titanic-Competition-Kaggle-

Jupyter Notebook
3
star
16

Transfer-Optimization

This repository contains the implementation of sTrEvo, AMTEA, and MAB-AMTEA algorithms in Python.
Jupyter Notebook
3
star
17

Quantum_Genetic_Algorithm_For_Credit_Scoring_Problem

Quantum Genetic Algorithm For Credit Scoring Problem
Jupyter Notebook
3
star
18

100_Days_of_ML_Code

This is log of my 100 days of ML code challenge.
3
star
19

Cooperative-Coevolution-Transfer-Optimization

Implementation of Cooperative Coevolution Transfer Optimization Algorithm
Jupyter Notebook
3
star
20

Udacity-Deep-Learning-Assignment

Jupyter Notebook
3
star
21

Reinforcement-Learning-Assignment-Easy21-Deep-Mind-

Solution of Reinforcement Learning course by Deep Mind: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
2
star
22

awesome-continual-representation-learning

2
star
23

Flood-It-in-VHDL

Flood it game implemented in VHDL
VHDL
2
star
24

ErfGram

This project is a chat application written with javafx
Java
2
star
25

Applied-Data-Science-with-Python-Course-Assignments

Solutions of Applied Data Science with python assignments will be here.
Jupyter Notebook
2
star
26

Reinforcement-Learning-in-Robotics

A curated list of resources on employing Reinforcement Learning algorithms to tackle Robotics-related problems
2
star
27

Python-Oar-User-API-Manager

Python Library for Managing different OAR tasks.
Python
2
star
28

School-Of-AI-Rasht-Chapter-Website

It's a website written for the Rasht Chapter of School of AI
HTML
2
star
29

LTA-Representation-Properties

In this repo, we are going to investigate the properties of sparse representations learned through Leaky Tilings Activation (LTA)
Python
2
star
30

Adaptive-Model-based-Transfer-for-Binary-problems-in-python

Adaptive Model-based Transfer Evolutionary Algorithm implementation in python
Jupyter Notebook
2
star
31

awesome-representation-learning-in-reinforement-learning

A categorized list of representation learning papers that are focused on solving reinforcement learning problems
2
star
32

Operating-System-Lab

1
star
33

gym-recording-modified

This is a modified version of this repository: https://github.com/openai/gym-recording/
Python
1
star
34

gym-mellowmax-mdp

This is the implementation of the 2-state MDP that is used in the mellowmax paper to show that softmax is not a non-expansion.
Python
1
star
35

Robotics-Exercises

I will put the programming solutions of the Introduction to Robotics book in this repository.
Python
1
star