Created using Angular 7 following the MVC design principle
Uses Flask to create API endpoints and Keras to create a regression neural network based on the 6 high-level attributes of a player:
- Pace: how fast a player is
- Shot: how good a player is at shooting
- Pass: how good a player is at passing
- Dribble: how good a player is at dribbling
- Defense: how good a player is at defending
- Physical: how aggresive, strong, etc a player is
The neural network is hosted using TensorFlow Serving
- Run
npm i
in theclient
directory to install all packages required for the frontend - In the
server
directory, installvenv
. Then, runpython3 -m venv fut-env
. This creates a virtual environment that will be used to install packages local to this project. - After running the above, run
source fut-env/bin/activate
. This activates the virtual environment. Next, runmake install
. This installs all the packages needed by the server - Start the jupyter server by running
jupyter notebook
. Open up thefut
notebook and run all cells. This will fetch the data from the EA Sports FIFA endpoint, preprocess each JSON object, create the regression model, trains/evaluates it, and exports the trained model in HDF5 format. - Run
make export
. This converts the HDF5 model into a TensorFlow model graph, which can be used for serving. - To host the tensorflow server, run
tensorflow_model_server --port=9000 --model_name=fut --model_base_path=$(pwd)/model/
in theserver
directory. This hosts the server on 0.0.0.0:9000 - To start the frontend app, run
npm start
from thefut-client
direcdtory - To start the backend server, run
make run
from theserver
directory. This starts the flask server on localhost:5000