【发布时间】:2019-03-21 23:30:55
【问题描述】:
我有一个使用 tensorflow.js 神经网络玩“tic tac toe”游戏的代理,试图模仿 Q 函数的行为。
我正在关注这份旅行报告,但使用的是 TFJS 和节点:Part 4 — Neural Network Q Learning
代理在游戏期间跟踪游戏状态,并在游戏完成后尝试根据游戏结束的方式使用这些状态的更新 Q 值来训练 NN。
我的问题是:fit() 是一个异步函数,我玩游戏的脚本会运行一个游戏循环,游戏循环完成,然后我收到一堆 UnhandledPromiseRejectionWarning 因为来自所有的 fit() 的调用之前的比赛正在进行中。
有没有办法在每场比赛结束时同步训练我的模型。也许使用 model.makeTrainFunction() 或者有没有办法使用优化器? (optimizer.applyGradients() 发现在cart-pole example)
链接到我的代码NNQPlayer.js
感谢您阅读我的问题。我希望有人可以在正确的方向上轻推我!
【问题讨论】:
-
作为一个好的经验法则,尽量通过在此处提供直接相关的代码来缩小问题范围,而不是要求人们去看看 github 上的一堆代码,尽管您可以提供链接
-
注明。以后我会更懂事的
标签: javascript node.js tensorflow tensorflow.js