
Security News
New CVE Forecasting Tool Predicts 47,000 Disclosures in 2025
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Old name: RLFramework
Reinforcement Learning Framework
This project is still a work in progress. Everything here should work, but expect a high frequency of modifications and "improvements" over time.
rlf
bash command. rlf init <project_name>
: create a repository named <project_name>
with the basic structure of this repository.rlf use <component>
: search for the given component (could be an agent, an environment, en experiment folder)
on the main branch, and download it with all used classes. rlf use DQN
download classes "DQN", "ValueBasedAgent", and "Agent", and put them in the agent folder.rlf update <component>
update a component if it has been modified on the git's main branch.run:
PYTHONPATH=$PTHONPATH:. python3 experiments/goal_condtioned_rl/main.py
NB: run it from a terminal, it uses ANSI characters and will not be printed well if you run it from py-charm.
wget
:PROJECT_NAME="your_new_rl_project" && \
wget https://github.com/hbonnavaud/RLFramework/archive/master.zip && \
unzip master.zip && \
mv RLFramework-main $PROJECT_NAME && \
rm master.zip
python3 -m venv venv
. venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
docker build . --tag rlf:latest
docker run -v "$(pwd):/rlf/" --gpus all rlf:latest python3 /rlf/experiments/goal_condtioned_rl/main.py
--gpus all
allows you to run it using cuda.
-v "$(pwd):/rlf/"
mount the repository as "/rlf/" so it can be used by the docker container.
The directory /experiments/goal_conditioned_rl/
contains a main.py
file that launch simulations in parrallel from simulation.py
, which launch a goal-conditioned simulation between an agent and an environment.
During the simulation, it stores its outputs in experiments/goal_conditioned_rl/outputs/<environment_name>/<agent_name>. Then plot_results.py
read these outputs and generate a goal-reaching accuracy plot from them.
The simulation.py
saves the agent and the ongoing simulation after each evaluation. So if your computer crash, you can re-launch the main.py
, and the simulation.py
will load the last simulation from outputs/
directory and continue it, even if you have a lot of simulations running in parrallel.
Once a simulation is done, if you put a discord webhook in simulation.py
, it will send a message on discord channel associated with the webhook (you don't need to have a server for this, just create a discord server, and associate a channel with a webhook).
The send_discord_message
function can be imported from rlf/utils so it's not a big deal to use it in your own experiments.
< explanations incoming >
< explanations incoming >
Feel free to open an issue on any subject and any question.
The code in agents/
, environments/
and utils/
aim to be implemented in order to be as much easy to use as possiple. If you have any idea about how to improve it, feel free to open an issue or to contact me, I will be glad to discuss about it and modify the code in consequence.
PRs for new agents and new environments are highly welcome (Fork + pull request only!).
FAQs
Reinforcement learning library for building complex agents with simple components.
We found that sciborg demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.