汉城AI体育馆:汉城AI体育馆是一个开发人工智能算法的工具包。

seoulai-gym的Python项目详细描述


首尔人工智能健身房

首尔人工智能健身房是一个开发人工智能算法的工具包。 这个gym模拟环境并使您能够在代理上应用任何教学技术。

Build Status

汉城人工智能健身房的灵感来自OpenAI gym,并试图非常密切地遵循其api。

内容

基本知识

有两个术语需要理解:environmentagent

环境是一个代理可以与之交互的世界(模拟)。 代理人可以观察一个世界,并根据其决定采取行动。

seoulai-gym提供环境。 创建环境的示例:

importseoulai_gymasgymenv=gym.make("Checkers")

每个环境都有三种重要的方法:resetsteprender

reset(self) -> observation

将环境重置为默认状态并返回默认状态的observationobservation数据结构取决于环境,并分别针对每个环境进行描述。

step(self, agent, action) -> observation, reward, done, info

在最后由resetstep观察到的环境中,代表agent执行action。 一个action可以在不同的环境中有所不同,但是step方法的返回值总是相同的。 当在当前步骤或之前的一些步骤中所做的操作为代理带来了积极的结果(例如赢得一个游戏)时,将reward给予代理。 info是包含有关已执行的action的额外信息的字典。

render(self) -> None

在屏幕上显示游戏状态。

安装

安装seoulai-gym有两种方法。

pip3

开发人员创建代理的推荐方法是使用pip3安装seoulai-gym

pip3 install seoulai-gym

源代码

您还可以从源代码克隆并安装seoulai-gym。 这个选项是用于开发新环境或修改现有环境的开发人员。

git clone https://github.com/seoulai/gym.git
cd gym
pip3 install -e .

支持的系统

seoulai-gym要求至少有python 3.6,并且在arch linux、macos high sierra和windows 10上进行了测试。

环境

目前提供了Checkers,[强大](https://en.wikipedia.org/wiki/Mighty_(card_game))的环境模拟游戏和市场。

  • 跳棋

    importseoulai_gymasgymenv=gym.make("Checkers")env.reset()env.render()
  • 强大的

    importseoulai_gymasgymfromseoulai_gym.envs.mighty.agent.RandomAgentimportRandomAgentenv=gym.make("Mighty")players=[RandomAgent("Agent 1",0),RandomAgent("Agent 2",1),RandomAgent("Agent 3",2),RandomAgent("Agent 4",3),RandomAgent("Agent 5",4)]obs=env.reset()obs["game"].players=[players[0]._name,players[1]._name,players[2]._name,players[3]._name,players[4]._name,]env.render()
  • 市场

    importseoulai_gymasgymfromseoulai_gym.envs.traders.agentsimportRandomAgentBuffett# make enviromentenv=gym.make("Market")# select exchangeenv.select("upbit")init_cash=100000000# KRWa1=RandomAgentBuffett("Buffett",init_cash)current_agent=a1env.reset()env.render()

示例

测试

所有测试都是使用pytest编写的。 您可以通过以下途径运行它们:

pytest

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android同步不同页面上的按钮   java评测每个类收集的垃圾对象实例数   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java Android编辑文本和虚拟键盘   java Selenium与BrowserMobProxy   JAVAlang.NoClassDefFoundError:com/sun/jersey/spi/inject/Errors$关闭原因?   java为什么在我成功登录后仍然会出现“不正确的帐户或密码或用户类型”   安卓应用程序在重新启动java时崩溃。网UnknownHostException:无法解析主机   多线程在Java中同步共享静态对象的正确方法是什么?   未调用自定义注释的java类验证(约束类)   java如何将指定目录的存档文件放入所需位置?   java如何识别Selenium中的每个编辑文本字段,如果它们的Xpath都相同   使用gwtmockito/mockito的java简单单选按钮单元测试?