salina  by facebookresearch

PyTorch library for sequential learning agents, including reinforcement learning

Created 4 years ago
431 stars

Top 68.9% on SourcePulse

GitHubView on GitHub
Project Summary

SaLinA is a lightweight PyTorch extension for developing sequential decision models, targeting researchers and engineers working with reinforcement learning (RL), imitation learning, and other sequential learning tasks. It simplifies the creation of complex sequential agents and offers efficient multi-CPU/GPU utilization.

How It Works

SaLinA extends PyTorch's nn.Module to an Agent concept, enabling seamless integration of temporal dynamics into standard neural network architectures. This approach allows for the composition of agents like PyTorch modules, facilitating the development of intricate sequential models with minimal code. It supports various sequential decision-making paradigms beyond RL, including supervised and unsupervised learning in NLP and computer vision.

Quick Start & Requirements

  • Install: pip install -e .
  • Dependencies: PyTorch, Hydra, Gym.
  • Documentation: Read the docs

Highlighted Details

  • Offers both classical PyTorch and xformers-based transformer implementations, with xformers showing significant speed and memory improvements for attention mechanisms.
  • Includes a flexible logger that outputs to TensorBoard and pickle files for easy analysis.
  • Provides a catalog of pre-built agents (salina.agents) and numerous examples across different domains.
  • Supports multi-agent RL and model-based RL with differentiable environments.

Maintenance & Community

  • Developed by Facebook Research.
  • Recent updates include salina_cl for continual learning and improved transformer-based agents.
  • Key contributors include Ludovic Denoyer, Alfredo de la Fuente, Song Duong, Jean-Baptiste Gaya, Pierre-Alexandre Kamienny, and Daniel H. Thompson.

Licensing & Compatibility

  • MIT License.
  • Permissive license suitable for commercial use and integration into closed-source projects.

Limitations & Caveats

The library is primarily focused on sequential decision-making and while it supports RL, it is not solely an RL framework. The README mentions a renaming of salina/agents/gym.py to salina/agents/gyma.py to avoid compatibility issues with OpenAI Gym, indicating potential for dependency-related maintenance.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research) and Will Brown Will Brown(Research Lead at Prime Intellect).

agent-lightning by microsoft

6.0%
2k
Train any AI agent with rollouts and feedback
Created 3 months ago
Updated 2 days ago
Starred by Evan Hubinger Evan Hubinger(Head of Alignment Stress-Testing at Anthropic), Jiayi Pan Jiayi Pan(Author of SWE-Gym; MTS at xAI), and
1 more.

rl by pytorch

0.4%
3k
PyTorch library for reinforcement learning research
Created 3 years ago
Updated 2 days ago
Feedback? Help us improve.