jidiai / ai_lib

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jidi (及第) AiLib

License: MIT Release Version PRs Welcome

This repo provides a reinforcement learning library designed for our online submission evaluation platform Jidi(及第) which aims to offer fair benchmarking over various RL environments and host AI competitions on problems worth exploring.

Version 2.0 (branch V2) New version of Jidi AiLib which supports Population-Based Training! Still under construction and stay tuned. PRs are welcome!

Version 1.0 (branch master): In the version V1.0, the repo contains the code of all the benchmark RL environment we included on Jidi(及第) and simple-to-use training examples covering some classic baseline RL algorithms.

平台地址 (Our Website)

jidi_ai

快速开始 (Quick Start)

You can install Jidi AiLib on your own personal computer or workstation. To install it, please follow the instruction below.

Clone the repo

git clone https://github.com/jidiai/ai_lib.git
cd ailib

Build virtual environment

python3 -m venv ailib-venv
source ailib-venv/bin/activate
python3 -m pip install -e .

or

conda create -n ailib-venv python==3.7.5
conda activate ailib-venv

Install necessary dependencies

pip install -r requirements.txt

Now have a go

python examples/main.py --scenario classic_CartPole-v0 --algo dqn --reload_config 

训练例子 (Training Examples)

We provide implementations and tuned training configurations of vairous baseline reinforcement learning algorithms. More details can be found in ./examples/. Feel free to try it yourself.

We currently support the following benchmarking experiments:

Algo CartPole-v0 MountainCar-v0 Pendulum-v0 gridworld
RANDOM
Q-learning - - -
Sarsa - - -
DQN - -
DDQN - -
Duelingq - -
SAC -
PPO - - -
PG - - -
AC - - -
DDPG - - -
TD3 - - -

额外项目依赖 (Extra Dependencies)

Apart from the necessary dependency in requirements.txt, some environments require extra dependencies and we list all of them here.

目录结构 (Code structure)

|-- platform_lib
	|-- README.md
	|-- run_log.py		// 本地调试运行环境
	|-- examples	// 提交运行文件示例	需包含 my_controller 函数输出policy
	    |-- random.py  // 随机策略 需根据环境动作是否连续 调整 is_act_continuous 的值
	|-- replay		// render工具,用于非gym环境,打开replay.html上传run_log 存储的.json文件 
	|-- env		// 游戏环境 
	|	|-- simulators		// 模拟器
	|	|	|-- game.py
	|	|	|-- gridgame.py // 网格类模拟器接口
	|	|-- obs_interfaces		// observation 观测类接口
	|	|	|-- observation.py		// 目前支持Grid Vector
	|	|-- config.ini		// 相关配置文件
	|	|-- chooseenv.py 
	|	|-- snakes.py
	|	|-- gobang.py
	|	|-- reversi.py
	|	|-- sokoban.py
	|	|-- ccgame.py

平台提交说明

  1. 填写算法名称或描述,选择提交环境
  2. 上传一个或多个文件。
  • 其中必须包含一个运行文件,运行文件需包含my_controller 函数的一个submission.py文件。
  • 附属文件支持.pth .py类型文件。大小不超过100M,个数不超过5个。

About

License:MIT License


Languages

Language:JavaScript 80.0%Language:Python 18.7%Language:HTML 1.3%Language:CSS 0.1%