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