https://github.com/cong-harvard/repr_control

Solve nonlinear stochastic control using representation learning.

https://github.com/cong-harvard/repr_control

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Solve nonlinear stochastic control using representation learning.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of CoNGHarvard/repr_control
Created almost 2 years ago · Last pushed about 1 year ago

https://github.com/CoNG-harvard/repr_control/blob/published/

# repr-control: A Toolbox to solve stochastic nonlinear control

[![Documentation](https://img.shields.io/badge/Documentation-Online-blue)](https://repr-control-orgnaization.readthedocs.io/en/latest/)

repr-control is a toolbox to solve nonlinear stochastic control via representation learning. 
User can simply input the [**dynamics, rewards, initial distributions**](repr_control/define_problem.py) of the nonlinear control problem
and get the optimal controller parametrized by a neural network.

### Please refer to our [[documentation]](https://repr-control-orgnaization.readthedocs.io/en/latest/) on how to define custom nonlinear control problems and train the controller.

The optimal controller is trained via Spectral Dynamics Embedding Control (SDEC) algorithm based on representation learning and reinforcement learning.
For those interested in the details of the SDEC algorithm, please check our [papers](https://arxiv.org/abs/2304.03907).

## Installation
1. Install Anaconda and git (if you haven't).
2. Create a new environment,
   
   **Windows** : Open Anaconda prompt.   **Mac** or **Linux** : Open Terminal:
    
    ```shell
    conda create -n repr-control python=3.10
    conda activate repr-control
    ```
3. Install PyTorch dependencies. 
  
    **Windows or Linux**: 

    If you have CUDA-compatible GPUs,
    ```shell
    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
    ```
    If you don't have CUDA-compatible GPUs,
    ```shell
    conda install pytorch torchvision torchaudio cpuonly -c pytorch
    ```
   **Mac**:
    ```shell
    conda install pytorch::pytorch torchvision torchaudio -c pytorch
    ```
4. install the toolbox
    ```shell
   git clone https://github.com/CoNG-harvard/repr_control.git
   cd repr_control
   pip install -e .
   ```

Helpful resources: 
- [Anaconda environment](https://conda.io/projects/conda/en/latest/user-guide/getting-started.html)
- [PyTorch installation](https://pytorch.org/get-started/locally/)

## Citations
```
@article{ren2023stochastic,
      title={Stochastic Nonlinear Control via Finite-dimensional Spectral Dynamic Embedding}, 
      author={Tongzheng Ren and Zhaolin Ren and Haitong Ma and Na Li and Bo Dai},
      year={2023},
      eprint={2304.03907},
      archivePrefix={arXiv}
}
```

Owner

  • Name: CoNG at Harvard
  • Login: CoNG-harvard
  • Kind: organization

GitHub Events

Total
  • Watch event: 2
  • Push event: 2
  • Pull request event: 2
  • Create event: 1
Last Year
  • Watch event: 2
  • Push event: 2
  • Pull request event: 2
  • Create event: 1