Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

多卡训练&强化学习相关问题 #11

Open
Iriya99 opened this issue Jul 4, 2024 · 7 comments
Open

多卡训练&强化学习相关问题 #11

Iriya99 opened this issue Jul 4, 2024 · 7 comments

Comments

@Iriya99
Copy link

Iriya99 commented Jul 4, 2024

想用ddp训练,似乎要改Dataset类,但以弃牌为例,一个xml文件对应很多条数据,这里要怎么改比较好?
另外代码里现在没有提供self-play强化学习训练的代码是吗?这部分添加的话要加哪些逻辑呢?

@Iriya99 Iriya99 changed the title 怎么使用多卡训练? 多卡训练&强化学习相关问题 Jul 4, 2024
@windshadow233
Copy link
Owner

感谢关注🙏

  1. 数据集你只要继承一下PyTorch的Dataset类,把我写的数据类封装到里面应该就行了?
  2. 强化学习部分目前没时间做~可以读一下原论文,大概是训练了一个GRU网络来预测评分,然后论文里还提到了一个掌握全局信息的代理,通过逐步弱化这个代理来训练模型。我没有多少强化学习的经验,然后环境部分写的不是很好,现在这个代码感觉增加强化学习的逻辑会比较费劲,如果有更好的适合强化学习的环境实现,也可以提一些建议或者pr~后面我空了可以考虑把游戏环境部分推翻重写。

@windshadow233
Copy link
Owner

比如可以在数据class定义一个buffer列表,每次__getitem__的时候从buffer取出一条数据,buffer为空就跑一下牌谱往buffer添加牌谱数据?

@Iriya99
Copy link
Author

Iriya99 commented Jul 5, 2024

好的,谢谢作者~
论文我看了,但是我也没有接触过强化学习,可能复现起来比较费劲- -

@windshadow233
Copy link
Owner

可以先试试监督学习的效果~我用了八万个半庄的对局,效果已经比较不错了。你有多卡的话可以试试增加数据量😇

@Iriya99
Copy link
Author

Iriya99 commented Jul 5, 2024

好滴,其实之前弃牌模型和立直模型都已经训好了,我历年数据都down了,但是里面xml文件解析好多还是有bug,有些数据情况比较奇怪,我加了一些条件判断过滤掉了这些数据,每个epoch都用了大概10万个随机半庄,训了10个epoch,还没有测试效果
话说强化学习如果只是训练的话是不是都不需要写前后端代码(作者太强了,全栈高手T ^ T)

@Iriya99
Copy link
Author

Iriya99 commented Jul 5, 2024

比如可以在数据class定义一个buffer列表,每次__getitem__的时候从buffer取出一条数据,buffer为空就跑一下牌谱往buffer添加牌谱数据?

改好了,回头试一下,如果没问题的话可以pr一下→_→

@windshadow233
Copy link
Owner

好滴,其实之前弃牌模型和立直模型都已经训好了,我历年数据都down了,但是里面xml文件解析好多还是有bug,有些数据情况比较奇怪,我加了一些条件判断过滤掉了这些数据,每个epoch都用了大概10万个随机半庄,训了10个epoch,还没有测试效果

话说强化学习如果只是训练的话是不是都不需要写前后端代码(作者太强了,全栈高手T ^ T)

强化学习只是训练的话自然不用前端代码 后端里面也可以忽略socket通信什么的(我是真不会写游戏,写的是一坨屎山💩。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants