Skip to main content

RL training visualizer for Mujoco Playground environments + Brax training

Project description

PyPI Python Versions License: MIT

Welcome to rscope!

A light-weight package to collect and interactively visualize trajectories while training Mujoco Playground environments. Rscope can visualize both local and remote (potentially headless) training runs.

rscope_header

Installation

[!IMPORTANT]

  • Requires Python 3.10 or later.

pip install rscope


Usage

[!IMPORTANT] Mac users must run mjpython instead of python, ex. mjpython -m rscope

Local training runs

To visualize locally stored rollouts:

python -m rscope

Remote training runs

Below, update user@remote_host, for example alice@168.42.4.8.

First, set up password-free key-based SSH connection with the remote device:

ssh-keygen -t ed25519 -f ~/.ssh/rsync_key -N ""
ssh-copy-id -i ~/.ssh/rsync_key.pub user@remote_host

If this worked, you should be able to ssh in without using a password:

ssh -i ~/.ssh/rsync_key user@remote_host
echo hello
exit

To visualize rollouts stored on a remote server via SSH:

python -m rscope --ssh_to user@remote_host[:port] --ssh_key ~/.ssh/rsync_key --polling_interval 5 # port defaults to 22


Features

  1. Most features from Mujoco viewer
  2. Browse through trajectories. Use left/right arrow keys to switch through parallel environments and up/down for recent/past trajectories.
  3. Live Plotting. Use SHIFT+M to plot trajectory rewards and the contents of state.metrics, up to the first 11 keys.
  4. Pixel Observations. Use SHIFT+O to overlay pixel observations if available. To use this feature, the observation must be a dict and the pixel keys must be prefixed with pixels/.

Sharp bits

Some background on how rscope works: between policy updates, rscope unrolls multiple trajectories in parallel then visualizes them on CPU. While this is simpler to implement and less expensive than tracing training runs like in IsaacLab, this and other implementation details lead to some unexpected gotchas:

  • Typically, stochastic policies are used for evaluating training progress while determinsitic ones are deployed. While you can use rscope on stochastic policies to get a feel for the agent's training exploration, we recommend deterministic evals.
  • Renders incorrectly for domain-randomized training because the loaded assets are from the nominal model definition.
  • Plots only the first 14 keys in the metrics without filtering for shaping rewards.
  • Visualizes only the first 14 pixel observations.
  • Cannot capture curriculum progression during training, as curriculums depend on state.info, which is reset at the start of an evaluator run.
  • Currently supports only PPO-based training.

Contribution Guidelines:

Please run the following before making a PR:

pip install -e ".[dev]"
pre-commit install
pre-commit run --all-files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rscope-0.0.8.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rscope-0.0.8-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file rscope-0.0.8.tar.gz.

File metadata

  • Download URL: rscope-0.0.8.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for rscope-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f9c47a2339d8f297afafc20bd40c82e4e6f224e5aa1224c71773b154915398fc
MD5 d18bdf449854147907aa7041322fa9bf
BLAKE2b-256 f5c553157b6de27db05204c2be5ca5d1174409227aea75cd26e4c992fc40f6fd

See more details on using hashes here.

File details

Details for the file rscope-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: rscope-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for rscope-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6f179f9f18418e17fe655e358953d04e70dd494d5a88d00b615e9910942e87c2
MD5 853868e51bf636735c64df1de2901c56
BLAKE2b-256 958e73c9423b5f19d8a05e894f6c3d1e599cd4a66c617b5a72cdbce08332fd7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page