需要安装好PPT上的算番库,以及任意版本的torch即可
我主要做的工作是实现了数据读取,将数据转化为样例格式,将转化后的数据输入到麻将智能体中生成每一轮后的obs的手牌和动作掩码,增加了计算番数的功能来为后续计算奖励提供基础,完成了残差块的设计(有很大的不合理之处,之后更改)。后续的工作会用离线数据来训练智能体,并且通过自博弈和PPO算法来进行调整智能体(依据样例)
feature_test.py
该文件更改了一些内容,并且尽量保持了样例中的逻辑,不用做出任何更改
read_to_output.py
该文件实现了数据读取,将比赛数据转化为样例格式,并将转化后的数据输入到特征提取类中实现obs中的手牌和动作掩码的输入(后续需要设计一个回放池,以便进行训练)
目前计算番数出现了一些问题,我之后会进行修改(但是我在想,如果要和样例保持一致的话就可以不使用番数变化,如果不管样例的话,就可以使用离线训练好的模型)
注意,数据的最后一个为本轮比赛得到的奖励
model.py
该文件在原模型的基础上添加了三个残差块,之后可以依据模型的性能和速度进行调节参数
后续的工作
- 能够提取next_action, 并且将提取的数据放入回放池中进行训练
- 能够正确计算番数的变化
- 能够较好地设计模块