Open entalent opened 6 years ago
在 tf_policy_value_net.py 第54行,定义了每个动作的概率是 self.action_probs = tf.nn.softmax(policy_net_out, name="policy_net_proba"), 第90行定义的loss是 cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=self.action_probs, labels=self.mcts_probs)。 但tensorflow文档对 tf.nn.softmax_cross_entropy 这个函数有个warning ,是说不要把softmax的输出给这个函数,因为这个函数内部会自己对logits做一遍softmax……所以这里直接用这个loss是不是不太好
另外,请问model文件夹里的模型是从0开始用这份代码训练的,还是已经训练好的theano/pytorch的模型直接转成tensorflow模型得到的?
谢谢帮我发现了这个bug!这里需要改一下。 文件夹里的模型是把https://github.com/junxiaosong/AlphaZero_Gomoku 里面训练的参数转成tensorflow的。直接训练88的五子棋有点慢,可以用6 6的四子棋试一下训练效果,感觉把self.buffer_size = 10000这里改小一点应该会收敛得更快。
同样,我在运行的时候出现这个
在 tf_policy_value_net.py 第54行,定义了每个动作的概率是 self.action_probs = tf.nn.softmax(policy_net_out, name="policy_net_proba"), 第90行定义的loss是 cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=self.action_probs, labels=self.mcts_probs)。 但tensorflow文档对 tf.nn.softmax_cross_entropy 这个函数有个warning ,是说不要把softmax的输出给这个函数,因为这个函数内部会自己对logits做一遍softmax……所以这里直接用这个loss是不是不太好
另外,请问model文件夹里的模型是从0开始用这份代码训练的,还是已经训练好的theano/pytorch的模型直接转成tensorflow模型得到的?