2017-08-20 5 views
1

Je prévois de créer un site Web où les utilisateurs peuvent jouer à un jeu simple avec un agent d'IA qualifié. Comment déployer un modèle d'apprentissage par renforcement sur un service Web? Pouvons-nous utiliser tensorflow? Le framework convnet.js d'Andrej Karapathy est-il utile?Comment déployer un modèle d'apprentissage par renforcement sur un service Web

+0

Peut-être que essayer deeplearnjs? https://pair-code.github.io/deeplearnjs/ Le GPU a accéléré le calcul sur le Web et l'API inspirée du tensorflow – Andnp

Répondre

0

J'ai essayé convnet.js et essayé d'autres librairies javascript pour faire la même chose mais ça ne sert à rien. Vous ne serez jamais capable de savoir ce qui se passe avec le réseau de neurones. Il n'a pas donné de résultat significatif même après que j'ai formé l'agent pour toute la journée.

Ma suggestion est de faire du programme python en tant que service web, vous pouvez utiliser flask pour cela. appelez le Webservice depuis le jeu lorsque vous devez intervenir. le service ne retournera que les actions. De cette façon, vous aurez l'avantage de savoir ce qui se passe. vous pouvez tracer des graphiques et noter les changements très facilement.

ici est mon extrait de code pour le service 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) 

mise à jour est la fonction qui prend la récompense et de l'état en entrée et une action de retour. states est entrée en tant que chaîne séparée par une virgule (,). cette méthode fonctionne parfaitement pour mon projet.

edit: Vous pouvez utiliser n'importe quelle bibliothèque pour python, selon ce qui vous convient le mieux. cela peut être pytorch ou tensorflow ou tout autre.