【代码开发】neuron_poker安装及简单使用
文章目录
- 引子
- 安装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安装及简单使用相关推荐
- IDEA开发工具安装及简单的项目创建
文章目录 简介 特色功能 优点 IDEA安装 IDEA文件目录介绍 IDEA优化配置,提高启动和运行速度 IDEA的setting介绍 设置软件背景颜色 设置鼠标悬浮提示 设置自动编译 设置默认浏览器 ...
- 微信小程序开发01(安装与简单使用)
微信小程序开发 注册账号与安装开发工具 创建项目 文件结构 小程序文件结构与传统web对比 新建文件夹 全局配置 Window TabBar 组件 Button 效果图 注册账号与安装开发工具 官网: ...
- 国内低代码开发平台发展现状
低代码开发平台在国内经过近二十年发展已经非常成熟,通过对国内近90多家低代码开发平台厂商进行调研或观测,我发现目前主要这么几大势力在布局: 1.传统的管理软件开发平台厂商:天翎.天纵.起步等都是,他们 ...
- 金融低代码开发平台建设要点与方法论
近日,EAWorld汇聚专家智慧重磅推出<重塑>直播栏目,首期即聚焦金融领域数字化转型及建设低代码开发平台的演进历程,介绍了金融低代码开发平台建设要点与方法论. 访谈问题概览: 1. 金 ...
- 开放原子训练营(第三季)inBuilder低代码开发实验室:货运单的开发
开放原子开源基金会(OpenAtom Foundation),是一个非盈利组织,致力于推广开源技术和开放创新.其宗旨是倡导合作伙伴间的信息共享和资源共享,鼓励开源社区的创造性和互助精神.该基金会提供资 ...
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
- 常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的下载、安装与简单使用说明
常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的下载.安装与简单使用说明 目录 常用开发工具 之 SQLite 数据库 与 Navicat for SQLite 的 ...
- Arduino IDE搭建合宙ESP32C3开发环境(最简单) 附跑马灯代码
Arduino IDE搭建合宙ESP32C3开发环境(最简单) 附跑马灯代码 一.安装Arduino IDE 二.搭建合宙简约版ESP32C3开发环境 1.产品示例&管脚定义&原理图 ...
- openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍...
openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装 1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/ ...
最新文章
- COM组件转换成.NET组件[转]
- python是什么编程教程-Python 从不懂到入门
- Python3字符串切片操作代码示例
- 第三次学JAVA再学不好就吃翔(part75)--集合概述
- C++ 泛型编程模板 之 函数模板初步01
- sql 存储过程 盲注入_一次非常规 SQL 注入(informixsql)的利用过程
- nohup + 保证服务后台运行不中断
- Improved Word Representation Learning with Sememes
- 反思风险管理的五项核心风险。
- Linux系统隐藏鼠标指针,如何在Linux / X11下隐藏鼠标指针?
- mate9 android原生包,华为Mate9 Pro官方固件rom刷机包_Mate9Pro系统包_升级包
- SpringBoot AOP注解写法
- java 代码佛像_论面向组合子程序设计方法 之九 南无阿弥陀佛
- SONET和SDH技术简介
- 【批量去除图片的背景】
- MarkMan(马克鳗)
- 《数据库原理与应用》实验二
- 洛克菲勒:世界上只有两种人头脑聪明...
- DWH - 自动化监控BI系统的存储空间
- 数据结构:二叉树及堆排序
热门文章
- 88e1111 phy芯片在arm平台的配置及接口介绍
- js为li列表添加点击事件
- bzoj1062: [NOI2008]糖果雨
- 西门子三开接线图解_西门子三位单控开关怎么接线要开关实际图
- 计算机的隐藏功能应用,电脑也有隐藏功能, 你知道吗?
- 【从零开始学深度学习编译器】十三,如何在MLIR里面写Pass?
- 第一个人10岁,第二个比第一个大2岁,以此类推,递归求第8个人的年龄
- KDD 2022 | 图“预训练、提示、微调”范式下的图神经网络泛化框架
- 利用layui创建二级表头
- 软件功能测试概论(课堂练习1)