From 57735ce1b52b1a42ffa3a84cb1830d50c113757a Mon Sep 17 00:00:00 2001 From: Trinkle23897 <463003665@qq.com> Date: Sat, 28 Mar 2020 22:01:23 +0800 Subject: [PATCH] add logo and sphinx setup --- README.md | 28 +- docs/Makefile | 20 + docs/_static/css/style.css | 127 +++ docs/_static/images/tianshou-logo.png | Bin 0 -> 96818 bytes docs/_static/images/tianshou-logo.svg | 1229 +++++++++++++++++++++++++ docs/conf.py | 96 ++ docs/index.rst | 20 + setup.py | 17 +- 8 files changed, 1526 insertions(+), 11 deletions(-) create mode 100644 docs/Makefile create mode 100644 docs/_static/css/style.css create mode 100644 docs/_static/images/tianshou-logo.png create mode 100644 docs/_static/images/tianshou-logo.svg create mode 100644 docs/conf.py create mode 100644 docs/index.rst diff --git a/README.md b/README.md index 14703c4..4771378 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ - -

Tianshou

+
+ +
[![PyPI](https://img.shields.io/pypi/v/tianshou)](https://pypi.org/project/tianshou/) [![Unittest](https://github.com/thu-ml/tianshou/workflows/Unittest/badge.svg?branch=master)](https://github.com/thu-ml/tianshou/actions) @@ -45,7 +46,9 @@ The example scripts are under [test/](/test/) folder and [examples/](/examples/) Tianshou is a lightweight but high-speed reinforcement learning platform. For example, here is a test on a laptop (i7-8750H + GTX1060). It only uses 3 seconds for training a agent based on vanilla policy gradient on the CartPole-v0 task. -![testpg](docs/_static/images/testpg.gif) +
+ +
We select some of famous (>1k stars) reinforcement learning platforms. Here is the benchmark result for other algorithms and platforms on toy scenarios: @@ -61,13 +64,13 @@ We select some of famous (>1k stars) reinforcement learning platforms. Here is t | TD3 - Pendulum | 48.39±7.22s | None | 620.83±248.43s | 619.33±324.97s | 210.31±76.30s | | SAC - Pendulum | 38.92±2.09s | None | 92.68±4.48s | 808.21±405.70s | 295.92±140.85s | -*: Could not reach the target reward threshold in 1e6 steps in any of 10 runs. The total runtime is in the brackets. +*\*: Could not reach the target reward threshold in 1e6 steps in any of 10 runs. The total runtime is in the brackets.* -?: We have tried but it is nontrivial for running non-Atari game on rlpyt. See [here](https://github.com/astooke/rlpyt/issues/127#issuecomment-601741210). +*?: We have tried but it is nontrivial for running non-Atari game on rlpyt. See [here](https://github.com/astooke/rlpyt/issues/127#issuecomment-601741210).* All of the platforms use 10 different seeds for testing. We erase those trials which failed for training. The reward threshold is 195.0 in CartPole and -250.0 in Pendulum over consecutive 100 episodes' mean returns. -Tianshou and RLlib's configures are very similar. They both use multiple workers for sampling. Indeed, both RLlib and rlpyt are excellent reinforcement learning platform :) +Tianshou and RLlib's configures are very similar. They both use multiple workers for sampling. Indeed, both RLlib and rlpyt are excellent reinforcement learning platform. We will add results of Atari Pong / Mujoco these days. @@ -77,6 +80,17 @@ Tianshou has unit tests. Different from other platforms, **the unit tests includ Check out the [GitHub Actions](https://github.com/thu-ml/tianshou/actions) page for more detail. +### Modularized Policy + +We decouple all of the algorithms into 4 parts: + +- `__init__`: initialize the policy; +- `process_fn`: to preprocess data from replay buffer (since we have reformulated all algorithms to replay-buffer based algorithms); +- `__call__`: to compute actions over given observations; +- `learn`: to learn from a given batch data. + +Within these API, we can interact with different policies conveniently. + ### Elegant and Flexible Currently, the overall code of Tianshou platform is less than 1500 lines. Most of the implemented algorithms are less than 100 lines of python code. It is quite easy to go through the framework and understand how it works. We provide many flexible API as you wish, for instance, if you want to use your policy to interact with environment with `n` steps: @@ -225,7 +239,7 @@ If you find Tianshou useful, please cite it in your publications. ## TODO -- [ ] More examples on [mujoco, atari] benchmark +- [x] More examples on [mujoco, atari] benchmark - [ ] Prioritized replay buffer - [ ] RNN support - [ ] Imitation Learning diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d4bb2cb --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_static/css/style.css b/docs/_static/css/style.css new file mode 100644 index 0000000..7bcc63b --- /dev/null +++ b/docs/_static/css/style.css @@ -0,0 +1,127 @@ +body { + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +/* Default header fonts are ugly */ +h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend, p.caption { + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + +/* Use white for docs background */ +.wy-side-nav-search { + background-color: #fff; +} + +.wy-nav-content { + max-width: 1200px !important; +} + +.wy-nav-content-wrap, .wy-menu li.current > a { + background-color: #fff; +} + +.wy-side-nav-search>a img.logo { + width: 80%; + margin-top: 10px; +} + +@media screen and (min-width: 1400px) { + .wy-nav-content-wrap { + background-color: #fff; + } + + .wy-nav-content { + background-color: #fff; + } +} + +/* Fixes for mobile */ +.wy-nav-top { + background-color: #fff; + /*background-image: url('../images/tianshou-logo.svg');*/ + background-repeat: no-repeat; + background-position: center; + padding: 0; + margin: 0.4045em 0.809em; + color: #333; +} + +.wy-nav-top > a { + display: none; +} + +@media screen and (max-width: 768px) { + .wy-side-nav-search>a img.logo { + height: 60px; + } +} + +/* This is needed to ensure that logo above search scales properly */ +.wy-side-nav-search a { + display: block; +} + +/* This ensures that multiple constructors will remain in separate lines. */ +.rst-content dl:not(.docutils) dt { + display: table; +} + +/* Use our red for literals (it's very similar to the original color) */ +.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal { + color: #4692BC; +} + +.rst-content tt.xref, a .rst-content tt, .rst-content tt.xref, +.rst-content code.xref, a .rst-content tt, a .rst-content code { + color: #404040; +} + +/* Change link colors (except for the menu) */ + +a { + color: #4692BC; +} + +a:hover { + color: #4692BC; +} + + +a:visited { + color: #4692BC; +} + +.wy-menu a { + color: #b3b3b3; +} + +.wy-menu a:hover { + color: #b3b3b3; +} + +/* Default footer text is quite big */ +footer { + font-size: 80%; +} + +footer .rst-footer-buttons { + font-size: 125%; /* revert footer settings - 1/80% = 125% */ +} + +footer p { + font-size: 100%; +} + +/* For hidden headers that appear in TOC tree */ +/* see http://stackoverflow.com/a/32363545/3343043 */ +.rst-content .hidden-section { + display: none; +} + +nav .hidden-section { + display: inherit; +} + +.wy-side-nav-search>div.version { + color: #000; +} diff --git a/docs/_static/images/tianshou-logo.png b/docs/_static/images/tianshou-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4152cc225bebd3f8592e66ff9ad434d31b889625 GIT binary patch literal 96818 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

TVA6jVLU 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 + + + diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..ee5b7c0 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,96 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + +import sphinx_rtd_theme + +import re +from os import path + +here = path.abspath(path.dirname(__file__)) + +# Get the version string +with open(path.join(here, '..', 'tianshou', '__init__.py')) as f: + version = re.search(r'__version__ = \'(.*?)\'', f.read()).group(1) + +# -- Project information ----------------------------------------------------- + +project = 'Tianshou' +copyright = '2020, Tianshou contributors' +author = 'Tianshou contributors' + +# The full version, including alpha/beta/rc tags +release = version + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.imgmath', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages', +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] +source_suffix = ['.rst', '.md'] +master_doc = 'index' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' +html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +html_logo = '_static/images/tianshou-logo.svg' + + +def setup(app): + app.add_stylesheet("css/style.css") + +# -- Extension configuration ------------------------------------------------- + +# -- Options for intersphinx extension --------------------------------------- + +# Example configuration for intersphinx: refer to the Python standard library. +# intersphinx_mapping = {'https://docs.python.org/3/': None} + +# -- Options for todo extension ---------------------------------------------- + +# If true, `todo` and `todoList` produce output, else they produce nothing. +# todo_include_todos = False diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..4d3892a --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,20 @@ +.. Tianshou documentation master file, created by + sphinx-quickstart on Sat Mar 28 15:58:19 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Tianshou's documentation! +==================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/setup.py b/setup.py index ff257f9..93d9a77 100644 --- a/setup.py +++ b/setup.py @@ -3,9 +3,18 @@ from setuptools import setup, find_packages +import re +from os import path + +here = path.abspath(path.dirname(__file__)) + +# Get the version string +with open(path.join(here, 'tianshou', '__init__.py')) as f: + version = re.search(r'__version__ = \'(.*?)\'', f.read()).group(1) + setup( name='tianshou', - version='0.2.0post1', + version=version, description='A Library for Deep Reinforcement Learning', long_description=open('README.md').read(), long_description_content_type='text/markdown', @@ -32,7 +41,7 @@ setup( 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', ], - keywords='reinforcement learning platform', + keywords='reinforcement learning platform pytorch', packages=find_packages(exclude=['test', 'test.*', 'examples', 'examples.*', 'docs', 'docs.*']), @@ -46,9 +55,9 @@ setup( ], extras_require={ 'dev': [ - 'Sphinx>=1.7.1', + 'Sphinx', 'sphinx_rtd_theme', - 'sphinxcontrib-bibtex>=0.3.6', + 'sphinxcontrib-bibtex', 'flake8', 'pytest', 'pytest-cov',