Fix list baseline bug and update README
This commit is contained in:
parent
0f39a362b8
commit
e63f4626b4
12
README.md
12
README.md
|
@ -25,7 +25,7 @@ If you find this repo useful, you may cite:
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
RLCard-Showdown has separated frontend and backend. The frontend part is built with React and the backend is with Django.
|
RLCard-Showdown has separated frontend and backend. The frontend is built with React and the backend is based on Django.
|
||||||
|
|
||||||
### Prerequisite
|
### Prerequisite
|
||||||
To set up the frontend, you should make sure you have [Node.js](https://nodejs.org/) and NPM installed. Normally you just need to manually install Node.js, and the NPM package would be automatically installed together with Node.js for you. Please refer to its official website for installation of Node.js.
|
To set up the frontend, you should make sure you have [Node.js](https://nodejs.org/) and NPM installed. Normally you just need to manually install Node.js, and the NPM package would be automatically installed together with Node.js for you. Please refer to its official website for installation of Node.js.
|
||||||
|
@ -54,15 +54,15 @@ cd ..
|
||||||
```
|
```
|
||||||
|
|
||||||
### Run RLCard-Showdown
|
### Run RLCard-Showdown
|
||||||
Run the following command under the project folder to start frontend in development mode.
|
Launch the backend in with
|
||||||
```
|
|
||||||
npm start
|
|
||||||
```
|
|
||||||
Then launch the backend in a new terminal with
|
|
||||||
```
|
```
|
||||||
cd server
|
cd server
|
||||||
python manage.py runserver
|
python manage.py runserver
|
||||||
```
|
```
|
||||||
|
Run the following command in a new terminal under the project folder to start frontend in development mode:
|
||||||
|
```
|
||||||
|
npm start
|
||||||
|
```
|
||||||
The frontend would be started in port 3000 in localhost by default. You can view it at [http://127.0.0.1:3000/](http://127.0.0.1:3000/). The backend will run by default in [http://127.0.0.1:8000/](http://127.0.0.1:8000/).
|
The frontend would be started in port 3000 in localhost by default. You can view it at [http://127.0.0.1:3000/](http://127.0.0.1:3000/). The backend will run by default in [http://127.0.0.1:8000/](http://127.0.0.1:8000/).
|
||||||
|
|
||||||
More documentation can be found [here](docs/api.md).
|
More documentation can be found [here](docs/api.md).
|
||||||
|
|
|
@ -2,6 +2,7 @@ import json
|
||||||
import os
|
import os
|
||||||
import importlib.util
|
import importlib.util
|
||||||
import math
|
import math
|
||||||
|
import copy
|
||||||
|
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
@ -18,6 +19,7 @@ from .models import Game, Payoff, UploadedAgent
|
||||||
|
|
||||||
from .tournament import Tournament
|
from .tournament import Tournament
|
||||||
from .rlcard_wrap import rlcard, MODEL_IDS
|
from .rlcard_wrap import rlcard, MODEL_IDS
|
||||||
|
MODEL_IDS_ALL = copy.deepcopy(MODEL_IDS)
|
||||||
|
|
||||||
def _reset_model_ids():
|
def _reset_model_ids():
|
||||||
agents = UploadedAgent.objects.all()
|
agents = UploadedAgent.objects.all()
|
||||||
|
@ -41,7 +43,8 @@ def _reset_model_ids():
|
||||||
model = self._entry_point()
|
model = self._entry_point()
|
||||||
return model
|
return model
|
||||||
rlcard.models.registration.model_registry.model_specs[name] = ModelSpec()
|
rlcard.models.registration.model_registry.model_specs[name] = ModelSpec()
|
||||||
MODEL_IDS[game].append(name)
|
MODEL_IDS_ALL[game].append(name)
|
||||||
|
_reset_model_ids()
|
||||||
|
|
||||||
PAGE_FIELDS = ['elements_every_page', 'page_index']
|
PAGE_FIELDS = ['elements_every_page', 'page_index']
|
||||||
|
|
||||||
|
@ -102,7 +105,7 @@ def launch(request):
|
||||||
except:
|
except:
|
||||||
return HttpResponse(json.dumps({'value': -1, 'info': 'parameters error'}))
|
return HttpResponse(json.dumps({'value': -1, 'info': 'parameters error'}))
|
||||||
|
|
||||||
games_data, payoffs_data = Tournament(game, MODEL_IDS[game], eval_num).launch()
|
games_data, payoffs_data = Tournament(game, MODEL_IDS_ALL[game], eval_num).launch()
|
||||||
Game.objects.filter(name=game).delete()
|
Game.objects.filter(name=game).delete()
|
||||||
Payoff.objects.filter(name=game).delete()
|
Payoff.objects.filter(name=game).delete()
|
||||||
for game_data in games_data:
|
for game_data in games_data:
|
||||||
|
@ -159,7 +162,7 @@ def list_uploaded_agents(request):
|
||||||
def list_baseline_agents(request):
|
def list_baseline_agents(request):
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
if not 'game' in request.GET:
|
if not 'game' in request.GET:
|
||||||
return HttpResponse(json.dumps({'value': -2, 'info': 'name should be given'}))
|
return HttpResponse(json.dumps({'value': -2, 'info': 'game should be given'}))
|
||||||
result = MODEL_IDS[request.GET['game']]
|
result = MODEL_IDS[request.GET['game']]
|
||||||
return HttpResponse(json.dumps({'value': 0, 'data': result}))
|
return HttpResponse(json.dumps({'value': 0, 'data': result}))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue