Skip to content

Commit 450f0f7

Browse files
committed
initial import
0 parents  commit 450f0f7

File tree

222 files changed

+38223
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+38223
-0
lines changed

.gitignore

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
data
2+
*.pyc
3+
*-checkpoint.ipynb
4+
.DS_Store
5+
*.h5
6+
*.log
7+
*.npz
8+
secrets.py
9+
*.avi
10+
*.mp4
11+
build
12+
build_linux
13+
.idea
14+
.sublime-project
15+
run_experiment.sh
16+
scratch-notebooks
17+
launch_scripts
18+
*.sh.e*
19+
*.sh.o*
20+
MUJOCO_LOG.TXT
21+
vendor/mujoco
22+
.project
23+
.pydevproject
24+
*.pdf
25+
.env
26+
snippets
27+
private
28+
lua
29+
iterate.dat
30+
.env
31+
src/
32+
.settings
33+
.pods
34+
docs/_build
35+
blackbox.zip
36+
blackbox
37+
rllab/config_personal.py
38+
*.swp
39+
sandbox

CHANGELOG.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# 2016-04-21
2+
3+
- Fixed `tensor_utils.concat_tensor_dict_list` to handle nested situations properly.
4+
5+
# 2016-04-20
6+
7+
- Default nonlinearity for `CategoricalMLPPolicy` changed to `tanh` as well, for consistency.
8+
- Add `flatten_n`, `unflatten_n` support for `Discrete` and `Product` spaces.
9+
- Changed `dist_info_sym` and `dist_info` interface for policies. Previously it takes both the observations and actions as input arguments, where actions are needed for recurrent policies when the policy takes both the current state and the previous action into account. However this is rather artificial. The interface is now changed to take in the observation plus a dictionary of state-related information. An extra property `state_info_keys` is added to specify the list of keys used for state-related information. By default this is an empty list.
10+
- Removed `lasagne_recurrent.py` since it's not used anywhere, and its functionality is replaced by `GRUNetwork` implemented in `rllab.core.network`.
11+
12+
# 2016-04-17
13+
14+
- Restored the default value of the `whole_paths` parameter in `BatchPolopt` back to `True`. This is more consistent with previous configurations.
15+
16+
# 2016-04-16
17+
18+
- Removed the helper method `rllab.misc.ext.merge_dict`. Turns out Python's `dict` constructor already supports this functionality: `merge_dict(dict1, dict2) == dict(dict1, **dict2)`.
19+
- Added a `min_std` option to `GaussianMLPPolicy`. This avoids the gradients being unstable near deterministic policies.
20+
21+
# 2016-04-11
22+
23+
- Added a method `truncate_paths` to the `rllab.sampler.parallel_sampler` module. This should be sufficient to replace the old configurable parameter `whole_paths` which has been removed during refactoring.
24+
25+
# 2016-04-10
26+
27+
- Known issues:
28+
- TRPO does not work well with relu since the hessian is undefined at 0, causing NaN sometimes. This issue of Theano is tracked here: https://github.com/Theano/Theano/issues/4353). If relu must be used, try using `theano.tensor.maximum(x, 0.)` as opposed to `theano.tensor.nnet.relu`.
29+
30+
# 2016-04-09
31+
32+
- Fixed bug of TNPG (max_backtracks should be set to 1 instead of 0)
33+
- Neural network policies now use tanh nonlinearities by default
34+
- Refactored interface for `rllab.sampler.parallel_sampler`. Extracted new module `rllab.sampler.stateful_pool` containing general parallelization utilities.
35+
- Fixed numerous issues in tests causing too long to run.
36+
- Merged release branch onto master and removed the release branch, to avoid potential confusions.
37+
38+
# 2016-04-08
39+
40+
Features:
41+
- Upgraded Mujoco interface to accomodate v1.30

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# rllab
2+
3+
Please see documentation at [https://rllab.readthedocs.org/en/latest/](https://rllab.readthedocs.org/en/latest/).

circle.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
machine:
2+
services:
3+
- docker
4+
5+
dependencies:
6+
cache_directories:
7+
- "~/docker"
8+
override:
9+
- docker info
10+
- if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi
11+
- docker build -t tester -f docker/tester_Dockerfile .
12+
- mkdir -p ~/docker; docker save tester > ~/docker/image.tar
13+
14+
test:
15+
override:
16+
- docker run tester /bin/bash -li -c "CIRCLECI=true nose2"

docker/Dockerfile

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
FROM ubuntu:14.04
2+
3+
# ========== Anaconda ==========
4+
# https://github.com/ContinuumIO/docker-images/blob/master/anaconda/Dockerfile
5+
RUN apt-get update --fix-missing && apt-get install -y wget bzip2 ca-certificates \
6+
libglib2.0-0 libxext6 libsm6 libxrender1 \
7+
git mercurial subversion
8+
RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
9+
wget --no-check-certificate --quiet https://repo.continuum.io/archive/Anaconda2-2.5.0-Linux-x86_64.sh && \
10+
/bin/bash /Anaconda2-2.5.0-Linux-x86_64.sh -b -p /opt/conda && \
11+
rm /Anaconda2-2.5.0-Linux-x86_64.sh
12+
13+
RUN apt-get install -y curl grep sed dpkg && \
14+
TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o "/v.*\"" | sed 's:^..\(.*\).$:\1:'` && \
15+
curl -L "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" > tini.deb && \
16+
dpkg -i tini.deb && \
17+
rm tini.deb && \
18+
apt-get clean
19+
20+
ENV PATH /opt/conda/bin:$PATH
21+
# http://bugs.python.org/issue19846
22+
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
23+
ENV LANG C.UTF-8
24+
ENTRYPOINT [ "/usr/bin/tini", "--" ]
25+
26+
# ========== Special Deps ==========
27+
RUN apt-get -y install git make cmake unzip
28+
RUN pip install awscli
29+
# ALE requires zlib
30+
RUN apt-get -y install zlib1g-dev
31+
# MUJOCO requires graphics stuff (Why?)
32+
RUN apt-get -y build-dep glfw
33+
RUN apt-get -y install libxrandr2 libxinerama-dev libxi6 libxcursor-dev
34+
# copied from requirements.txt
35+
#RUN pip install imageio tabulate nose
36+
RUN apt-get install -y vim ack-grep
37+
RUN pip install --upgrade pip
38+
# usual pip install pygame will fail
39+
#RUN conda install --yes -c https://conda.anaconda.org/kne pybox2d
40+
#RUN conda install --yes -c https://conda.binstar.org/tlatorre pygame
41+
RUN sudo apt-get build-dep -y python-pygame
42+
43+
# ========== Add codebase stub ==========
44+
45+
CMD mkdir /root/code
46+
ADD environment.yml /root/code/environment.yml
47+
RUN conda env create -f /root/code/environment.yml
48+
49+
ENV PYTHONPATH /root/code/rllab:$PYTHONPATH
50+
ENV PATH /opt/conda/envs/rllab/bin:$PATH
51+
RUN echo "source activate rllab" >> /root/.bashrc
52+
ENV BASH_ENV /root/.bashrc
53+
WORKDIR /root/code

docker/gpu_Dockerfile

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
FROM nvidia/cuda:7.5-cudnn4-devel-ubuntu14.04
2+
3+
# ========== Anaconda ==========
4+
# https://github.com/ContinuumIO/docker-images/blob/master/anaconda/Dockerfile
5+
RUN apt-get update --fix-missing && apt-get install -y wget bzip2 ca-certificates \
6+
libglib2.0-0 libxext6 libsm6 libxrender1 \
7+
git mercurial subversion
8+
RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
9+
wget --no-check-certificate --quiet https://repo.continuum.io/archive/Anaconda2-2.5.0-Linux-x86_64.sh && \
10+
/bin/bash /Anaconda2-2.5.0-Linux-x86_64.sh -b -p /opt/conda && \
11+
rm /Anaconda2-2.5.0-Linux-x86_64.sh
12+
13+
RUN apt-get install -y curl grep sed dpkg && \
14+
TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o "/v.*\"" | sed 's:^..\(.*\).$:\1:'` && \
15+
curl -L "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" > tini.deb && \
16+
dpkg -i tini.deb && \
17+
rm tini.deb && \
18+
apt-get clean
19+
20+
ENV PATH /opt/conda/bin:$PATH
21+
# http://bugs.python.org/issue19846
22+
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
23+
ENV LANG C.UTF-8
24+
ENTRYPOINT [ "/usr/bin/tini", "--" ]
25+
26+
# ========== Special Deps ==========
27+
RUN apt-get -y install git make cmake unzip
28+
RUN pip install awscli
29+
# ALE requires zlib
30+
RUN apt-get -y install zlib1g-dev
31+
# MUJOCO requires graphics stuff (Why?)
32+
RUN apt-get -y build-dep glfw
33+
RUN apt-get -y install libxrandr2 libxinerama-dev libxi6 libxcursor-dev
34+
# copied from requirements.txt
35+
#RUN pip install imageio tabulate nose
36+
RUN apt-get install -y vim ack-grep
37+
RUN pip install --upgrade pip
38+
# usual pip install pygame will fail
39+
#RUN conda install --yes -c https://conda.anaconda.org/kne pybox2d
40+
#RUN conda install --yes -c https://conda.binstar.org/tlatorre pygame
41+
RUN sudo apt-get build-dep -y python-pygame
42+
43+
# ========== Add codebase stub ==========
44+
45+
CMD mkdir /root/code
46+
ADD environment.yml /root/code/environment.yml
47+
RUN conda env create -f /root/code/environment.yml
48+
49+
ENV PYTHONPATH /root/code/rllab:$PYTHONPATH
50+
RUN echo "source activate rllab" >> /root/.bashrc
51+
ENV BASH_ENV /root/.bashrc
52+
53+
# gpu theanno
54+
ENV THEANO_FLAGS mode=FAST_RUN,device=gpu,floatX=float32
55+
56+
WORKDIR /root/code

docker/tester_Dockerfile

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM neocxi/rllab:latest
2+
3+
ADD . /root/code/rllab
4+
WORKDIR /root/code/rllab

0 commit comments

Comments
 (0)