文章目录

  • 引子
  • 安装Anaconda
  • 安装环境及相关依赖
  • 运行代码

引子

最近调研了蛮多能跑德州扑克的平台,但有些代码太老,有些太过复杂,很难找到开源的、方便的代码供研究。最近发现neuron_poker,考虑安装的复杂程度、代码阅读难度、运行效率等因素,综合来看算是不错,而且还带有GUI界面,唯一的遗憾就是里面Keras和torch.keras混用,而我pytorch用的比较多,所以没有深入研究。

本文简单介绍一下neuron_poker的安装及使用。这是一个用于强化学习研究德州扑克的环境,主要用于学术研究。github链接:https://github.com/dickreuter/neuron_poker。

虽然readme里面的内容已经足够了,但对于完全的小白来说可能比较不友好,于是我决定写一篇保姆级别的使用教程。顺带一提,我的操作系统是win10。

安装Anaconda

顺便还可以安装一下pycharm。这部分网上的教程非常多,能看见这篇博文的同学搜索引擎随便搜,点开前几个链接看看准没错。

可以用conda -V 和python -V来检查自己有没有安装好。

安装环境及相关依赖

主要分为三步:git clone , conda create env 和pip install

选择一个文件夹,命令行进入。

命令行输入git clone https://github.com/dickreuter/neuron_poker.git,回车运行。

如果报错提示缺少git就用 pip install git这个命令安装一下,如果没有办法访问github就用国内的镜像。

安装好neuron_poker.git后,运行cd neroun_poker-master进入对应的文件夹。

运行指令 conda create -n neuron_poker python=3.7,创建一个虚拟环境,neuron_poker就是环境名称,如果是第一次创建的话可能需要自动下载一些第三方拓展包,等待一会儿之后conda activate neuron_poker打开虚拟环境。

我直接使用的环境是base。

然后运行指令pip install -r requirements.txt就可以自动安装需要的第三方依赖库了。


现实Requirement already satisfied 就说明安装第三方依赖完成了。

运行代码

直接在命令行输入指令。
python main.py selfplay random --render
用随机决策的电脑玩家自博弈。

命令行会有输出,并且会自动跳出游戏界面:

如果到了这一步,恭喜你,代码已经可以正常运行了!

后面补充一些其它的指令:
python main.py selfplay keypress --render
用键盘按键与电脑AI交互博弈。
python main.py selfplay equity_improvement --improvement_rounds=20 --episodes=10
用遗传算法与自我改善训练一个agent。
python main.py selfplay dqn_train -c
使用 c++ 蒙特卡洛训练DQN agent。

里面这些参数的含义就要具体在main.py里面找了。

上面显示的自博弈是只有2个agent。这部分是在main.py的第106行修改玩家人数为6就可以了。

这是6个agent的的界面。

如果想深入细节更改源码,就需要进一步阅读源码和项目文档了,也就是代码的doc文件夹及readme.rst等文件。开启neuron_poker的探索之旅吧!

祝好!

【代码开发】neuron_poker安装及简单使用相关推荐

  1. IDEA开发工具安装及简单的项目创建

    文章目录 简介 特色功能 优点 IDEA安装 IDEA文件目录介绍 IDEA优化配置,提高启动和运行速度 IDEA的setting介绍 设置软件背景颜色 设置鼠标悬浮提示 设置自动编译 设置默认浏览器 ...

  2. 微信小程序开发01(安装与简单使用)

    微信小程序开发 注册账号与安装开发工具 创建项目 文件结构 小程序文件结构与传统web对比 新建文件夹 全局配置 Window TabBar 组件 Button 效果图 注册账号与安装开发工具 官网: ...

  3. 国内低代码开发平台发展现状

    低代码开发平台在国内经过近二十年发展已经非常成熟,通过对国内近90多家低代码开发平台厂商进行调研或观测,我发现目前主要这么几大势力在布局: 1.传统的管理软件开发平台厂商:天翎.天纵.起步等都是,他们 ...

  4. 金融低代码开发平台建设要点与方法论

    近日,EAWorld汇聚专家智慧重磅推出<重塑>直播栏目,首期即聚焦金融领域数字化转型及建设低代码开发平台的演进历程,介绍了金融低代码开发平台建设要点与方法论.  访谈问题概览: 1. 金 ...

  5. 开放原子训练营(第三季)inBuilder低代码开发实验室:货运单的开发

    开放原子开源基金会(OpenAtom Foundation),是一个非盈利组织,致力于推广开源技术和开放创新.其宗旨是倡导合作伙伴间的信息共享和资源共享,鼓励开源社区的创造性和互助精神.该基金会提供资 ...

  6. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  7. 常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的下载、安装与简单使用说明

    常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的下载.安装与简单使用说明 目录 常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的 ...

  8. Arduino IDE搭建合宙ESP32C3开发环境(最简单) 附跑马灯代码

    Arduino IDE搭建合宙ESP32C3开发环境(最简单) 附跑马灯代码 一.安装Arduino IDE 二.搭建合宙简约版ESP32C3开发环境 1.产品示例&管脚定义&原理图 ...

  9. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...

最新文章

  1. COM组件转换成.NET组件[转]
  2. python是什么编程教程-Python 从不懂到入门
  3. Python3字符串切片操作代码示例
  4. 第三次学JAVA再学不好就吃翔(part75)--集合概述
  5. C++ 泛型编程模板 之 函数模板初步01
  6. sql 存储过程 盲注入_一次非常规 SQL 注入(informixsql)的利用过程
  7. nohup + 保证服务后台运行不中断
  8. Improved Word Representation Learning with Sememes
  9. 反思风险管理的五项核心风险。
  10. Linux系统隐藏鼠标指针,如何在Linux / X11下隐藏鼠标指针?
  11. mate9 android原生包,华为Mate9 Pro官方固件rom刷机包_Mate9Pro系统包_升级包
  12. SpringBoot AOP注解写法
  13. java 代码佛像_论面向组合子程序设计方法 之九 南无阿弥陀佛
  14. SONET和SDH技术简介
  15. 【批量去除图片的背景】
  16. MarkMan(马克鳗)
  17. 《数据库原理与应用》实验二
  18. 洛克菲勒:世界上只有两种人头脑聪明...
  19. DWH - 自动化监控BI系统的存储空间
  20. 数据结构:二叉树及堆排序

热门文章

  1. 88e1111 phy芯片在arm平台的配置及接口介绍
  2. js为li列表添加点击事件
  3. bzoj1062: [NOI2008]糖果雨
  4. 西门子三开接线图解_西门子三位单控开关怎么接线要开关实际图
  5. 计算机的隐藏功能应用,电脑也有隐藏功能, 你知道吗?
  6. 【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?
  7. 第一个人10岁,第二个比第一个大2岁,以此类推,递归求第8个人的年龄
  8. KDD 2022 | 图“预训练、提示、微调”范式下的图神经网络泛化框架
  9. 利用layui创建二级表头
  10. 软件功能测试概论(课堂练习1)