junxiaosong / AlphaZero_Gomoku

An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
MIT License
3.3k stars 964 forks source link

为什么6*6*4train了一天还是0win10loss呢,而且还是乱下棋。。。是不是要修改什么? #8

Closed huyp182 closed 6 years ago

huyp182 commented 6 years ago

而且我生成的model是816KB,不是给的408KB的model。。。

junxiaosong commented 6 years ago

train了一天大概到多少个iter了?每一步输出的entropy和explained variance大概是个什么情况?按理不用改什么,如果确实不收敛可以试着把learning rate或者kl_target改小一点,会稳定一些

huyp182 commented 6 years ago

在云服务器上跑,目前到900了,没显示entropy和explained variance。。。 1

junxiaosong commented 6 years ago

看你这个输出感觉就没训练。。。而且664下的话个人电脑上1000iter也不用半天,感觉云服务器的环境有点问题吧

huyp182 commented 6 years ago

我在个人电脑上训练了一天也是这样,才弄到云服务器上去了。。。就是运行的train.py啊。。。不知道为什么生成的model大小和你给的model大小不一样?

junxiaosong commented 6 years ago

是最近clone的代码?你可以看下train.py里本来会print出来的信息,然后看看为啥你跑的时候没有输出,没准能发现原因

huyp182 commented 6 years ago

知道原因了,因为len(data_buffer)=0, batch_size=512,, len(data_buffer)<batch_size,所以不执行policy_update()。 if len(self.data_buffer) > int(self.batch_size): loss, entropy = self.policy_update() 不知道怎么解决呢? 祝新年快乐!

junxiaosong commented 6 years ago

data_buffer里存的是self-play的数据,现在一直为空的话你得看下为啥数据没存进去。如果代码没改过的话,我感觉可能还是python环境的问题

huyp182 commented 6 years ago

嗯,已解决,不知道将棋盘改为15*15可行吗?

junxiaosong commented 6 years ago

理论上可行,但15*15的话对算力要求很高,如果只是在个人电脑上跑的话估计跑不出有意义的结果,太慢了