如何在Web服务上部署训练有素的强化学习模型

时间:2017-08-20 13:46:48

标签: web-services reinforcement-learning

我打算建立一个网站,用户可以通过训练有素的AI代理玩一个简单的游戏。如何在网络服务上部署训练有素的强化学习模型? 我们可以使用tensorflow吗? Andrej Karapathy的convnet.js框架对此有用吗?

1 个答案:

答案 0 :(得分:0)

我已经尝试过convnet.js并尝试过其他的javascript库来做同样的事情,但它没用。你永远无法知道神经网络发生了什么。即使我训练了一整天的代理人,它也没有给出任何重要的结果。

我的建议是将python程序作为Web服务,您可以使用flask。当需要采取行动时,从游戏中调用Web服务。该服务将仅返回操作。这样您就可以了解正在运行的内容。你可以很容易地绘制图表并注意变化。

这是我的Web服务代码片段

from flask import Flask  
from flask import request  
from flask_cors import CORS

app = Flask(__name__)
CORS(app)


@app.route("/update", methods=['POST'])
def rest_update():
   reward = request.form.get('reward')
   reward = float(reward)
   state = request.form.get('state')
   state = state.split(',')
   new_state = []
   for each in state:
      new_state.append(float(each))

return str(brain.update(reward,new_state))

if __name__ == '__main__':
   app.run(debug=True)

更新是将奖励和状态作为输入和返回动作的功能。 states是以逗号(,)分隔的字符串输入。 这种方法非常适合我的项目。

编辑:您可以使用任何适用于python的库,无论哪种方式都适合您。它可以是pytorch或tensorflow或任何其他。