opendilab / DI-sheep

羊了个羊 + 深度强化学习(Deep Reinforcement Learning + 3 Tiles Game)

Home Page:https://opendilab.net/sheep

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DI-sheep:深度强化学习 + 羊了个羊

当 AI 技术的明珠——深度强化学习,遇到号称“通关率只有0.01%”的游戏“羊了个羊”,会碰撞出哪些奇思妙想呢?

P.S. 路过记得点个 star stars - di-sheep ,持续更新ing。

P.S.S. 想了解更多深度强化学习相关知识?快来 DI-engine 训练自己的智能体。

News

使用指南

算法原理解析

disheep drawio

快速上手

  • 如果想在线试玩 --> 在线网页(改进中)
  • 如果想本地部署/测试
    • 服务端(Python)
      # 预先安装好 Python3
      cd service
      pip install -r requirement.txt
      FLASK_APP=app.py flask run  # 玩家试玩
      # FLASK_APP=agent_app.py flask run  # 玩家 + AI 试玩
    • 客户端(react)
      # 预先安装好 node.js 和 react
      cd ui
      npm run build
      npm run preview
      然后在网页中打开对应链接即可
  • 如果想进行完整的深度强化学习训练
    # 预先安装好 Python3
    cd service
    pip install -r requirement-train.txt
    python3 -u sheep_ppo_main.py
  • 如果想使用定义好的 gym 羊了个羊环境 --> 点个 star 之后直接暴力 CTRL C+V 拿走 service/sheep_env.py 尽情魔改
  • 如果想获得训练好的深度强化学习模型 --> 访问 OpenDILab官网下载链接 (目前提供了两种试玩模型,但智能体仍有很多进步空间)
  • 如果想了解更多深度强化学习相关知识 --> 欢迎参阅 DI-engine相关文档
  • 如果想了解未来的更新计划 --> 请参阅更新计划
  • 如果有其他问题或想法 --> 欢迎 github ISSUE 区讨论,或是贡献 Pull requests

项目结构

.
├── LICENSE
├── ui                       --> react 网页前端
└── service                  --> Python 核心模块(算法和服务端)
    ├── app.py                  --> flask 服务 app (仅人类操作)
    ├── agent_app.py                  --> flask 服务 app(人类+AI操作)
    ├── requirement.txt         --> Python 依赖库列表
    ├── sheep_env.py            --> gym 格式环境
    ├── sheep_model.py          --> 基于 PyTorch 的 Actor-Critic 神经网络模型
    ├── sheep_ppo_main.py       --> 基于 DI-engine 的深度强化学习训练主函数
    ├── test_sheep_env.py       --> gym 格式环境的单元测试
    └── test_sheep_model.py     --> 神经网络模型的单元测试

更新计划

算法

  • 强化学习训练参数调整和算法微调
  • 提供可供本地试玩的模型权重
  • 详细的神经网络和强化学习算法设计文档
  • model-based RL 和 planning 算法
  • 神经网络压缩(用于部署)

环境

  • 添加原类型游戏(比如3tiles)中的各种道具
  • 牌的层数问题如何定义
  • 结合 JAX 优化环境运行速度
  • 更多结合 AI 的玩法设计

应用

  • 更多自定义主题和 BGM
  • 在线网页端部署
  • 样例神经网络权重下载
  • 更多 AI 训练时的行为分析
  • 移动端应用(欢迎Android/IOS开发者支持)

致谢

License

DI-sheep is released under the Apache 2.0 license.

About

羊了个羊 + 深度强化学习(Deep Reinforcement Learning + 3 Tiles Game)

https://opendilab.net/sheep

License:Apache License 2.0


Languages

Language:Python 55.2%Language:TypeScript 35.2%Language:CSS 4.8%Language:JavaScript 2.8%Language:HTML 1.6%Language:Shell 0.3%