Skip to content

yffbit/douzero_cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DouZero的cpp版本

多线程,支持GPU训练

Windows编译环境

  • cmake
  • Visual Studio 2019
  • PyTorch或者LibTorch

需要安装PyTorch或者LibTorch。PyTorch自带Release版本,LibTorch有ReleaseDebug两个版本。如果需要调试,则需要安装LibTorch的Debug版本。不能用Release版本进行调试,可能会出现一些奇怪的bug。建议将不同版本的路径都加入环境变量,例如新建环境变量libtorchlibtorch_debug分别指向Release版本和Debug版本的路径,切换的时候就比较方便。cmd里面切换版本

set PATH=%libtorch%\bin;%libtorch%\lib;%PATH%

或者

set PATH=%libtorch_debug%\bin;%libtorch_debug%\lib;%PATH%

对于PyTorch,如果是通过anaconda安装的,路径应该在Anaconda根目录\Lib\site-packages\torch\,例如

D:\ProgramFiles\Anaconda3\Lib\site-packages\torch\

执行run_cmake.cmd后创建Visual Studio项目。如果需要调试,则执行run_cmake.cmd Debug。Visual Studio里面调试时需要将Debug版本加入环境,项目属性->调试->环境,加入以下代码

PATH=%libtorch_debug%\bin;%libtorch_debug%\lib;%PATH%

Linux

Google Colab jupyter notebook

出牌规则

botzone平台上的FightTheLandlord

训练

参数基本上和DouZero一致,通过文本文件传入。

dou_train.exe config/config.txt

与baseline模型比较

baseline模型是Pytorch生成的,需要转化为Torch Script Model之后,才能被LibTorch导入,示例代码见tool.py。通过tool.py得到转化后的模型文件,将其路径写入evaluate_config.txt并且设置jit=true,再执行

evaluate_two_agent.exe config/evaluate_config.txt

对抗时,两个农民为同一个agent。同样的手牌,两个agent会交换身份进行对抗。也就是每次对抗由两局游戏组成,第二局的牌和第一局一样,只是两个agent的身份交换。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published