Giter VIP home page Giter VIP logo

ikostrikov / jaxrl Goto Github PK

View Code? Open in Web Editor NEW
579.0 12.0 62.0 4.27 MB

JAX (Flax) implementation of algorithms for Deep Reinforcement Learning with continuous action spaces.

License: MIT License

Shell 0.01% Python 11.39% Jupyter Notebook 88.32% Dockerfile 0.28%
deep-learning deep-reinforcement-learning continuous-control reinforcement-learning soft-actor-critic sac deep-deterministic-policy-gradient jax flax gym

jaxrl's People

Contributors

erwincoumans avatar ikostrikov avatar ikostrikov2 avatar vwxyzjn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jaxrl's Issues

Remove TF dependency

TF is a heavy library that might need a lot of dependencies and time to install. Removing the dependency on tensorflow_probability is not essential but might be good too.

Assert always evaluates to True

In these lines, because the assert statement is broken into multiple lines and hence covered with parentheses, the assert evaluates the tuple itself. So it will always evaluate to True.

assert (loss_fn is not None or grads is not None,
'Either a loss function or grads must be specified.')

assert (has_aux,
'When grads are provided, expects no aux outputs.')

This can be fixed by changing it to

assert loss_fn is not None or grads is not None, \
                'Either a loss function or grads must be specified.'

assert has_aux, \
                    'When grads are provided, expects no aux outputs.'

Garden variety installation error

Hey @ikostrikov really cool project!

I was trying to install it but hit some installation difficulties. It should be an easy fix if I look around more, but maybe it's worth introducing a proper dependency manager like poetry. I filed PR #20 to close this issue. Let me know if you'd be interested in it and I can add more docs :)

➜  jaxrl git:(main) ✗ . /home/costa/.cache/pypoetry/virtualenvs/jaxrl-m03KgMHV-py3.9/bin/activate
(jaxrl-m03KgMHV-py3.9) ➜  jaxrl git:(main) ✗ pip install -e .
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Obtaining file:///home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Installing collected packages: jaxrl
  Running setup.py develop for jaxrl
    ERROR: Command errored out with exit status 1:
     command: /home/costa/.cache/pypoetry/virtualenvs/jaxrl-m03KgMHV-py3.9/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl/setup.py'"'"'; __file__='"'"'/home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
         cwd: /home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl/
    Complete output (3 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/costa/.cache/pypoetry/virtualenvs/jaxrl-m03KgMHV-py3.9/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl/setup.py'"'"'; __file__='"'"'/home/costa/Documents/go/src/github.com/vwxyzjn/jaxrl/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.

A question about temperature module

Hi,

Thanks a lot for the great implementation!

I have a question regarding the temperature, I saw that in
https://github.com/ikostrikov/jax-rl/blob/main/jax_rl/agents/sac/temperature.py#L16

You are computing the temperature (entropy coefficient) by this instead of directly taking an exp on the log-temperature. Is there a particular reason that you implement it this way as compared to other implementation (for example, the pytorch DrQ, soft learning etc.)

Thanks!

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.