How to train the MLP Deep Learning Model

Prerequisites

There are 2 prerequisites to training the MLP Deep Learning Model:

Download and Install Anaconda

  • Please download and install Anaconda from its website

Install Dependencies

Run the following commands to install the necessary dependencies:

  • Install numpy: conda install numpy

  • Install tensorflow: conda install tensorflow

  • Install keras: conda install -c conda-forge keras

  • Install h5py: conda install h5py

  • Install protobuf: conda install -c conda-forge protobuf

  • Install PyTorch: conda install -c pytorch pytorch

Train the Model

The following steps are to be followed in order to train the MLP model using the released demo data. For convenience, we denote APOLLO as the path of the local apollo repository, for example, /home/username/apollo

  1. Create a folder to store offline prediction data using the command mkdir APOLLO/data/prediction if it does not exist

  2. Start dev docker using bash docker/scripts/dev_start.sh under the apollo folder

  3. Enter dev docker using bash docker/scripts/dev_into.sh under apollo folder

  4. In docker, under /apollo/, run bash apollo.sh build to compile

  5. In docker, under /apollo/, copy the demo record into /apollo/data/prediction by the command: cp /apollo/docs/demo_guide/demo_3.5.record /apollo/data/prediction/

  6. In docker, under /apollo/, run the bash script for feature extraction: bash modules/tools/prediction/mlp_train/feature_extraction.sh /apollo/data/prediction/ apollo/data/prediction/, then the feature files will be generated in the folder /apollo/data/prediction/.

  7. Exit docker, train the cruise model and junction model according to APOLLO/modules/tools/prediction/mlp_train/cruiseMLP_train.py and APOLLO/modules/tools/prediction/mlp_train/junctionMLP_train.py