UFLD Documentation

Our master project consists of parts. One part is about the neural network, which is discussed in this documentation. The other part is about generating datasets from CARLA. The documentation about this part can be found here.

UFLD Project overview

The project is splitted into two parts

  • Train: This module contains the code to train a model

  • Runtime: Contains the code for everything besides training, eg testing, demo or production usage

There’s also some shared code between these two parts which is located under common.

The scripts namespace contains many scripts “around” the project, eg to convert/prepare Datasets or to record testing data from CARLA.

Datasets

The dataset has to meet our dataset definition exactly. If the dataset doesn’t fulfill the specification exactly it will fail. See creating a dataset for details.

Usage

The main application is used by running the ufld.py file. The usage of the scripts is different per script. See their documentation / the howtos for details on their usage.

Setup

See HOWTO: Setup

Config/CLI Parameters

Every parameter has a default value, specified in the default profile. Every config entry can be overridden in a custom config and also via CLI. To use config options via the CLI interface prefix them with --, eg --batch_size 16. All available options are documented under ufld.py --help and configs.

An example command for training could look like

python ufld.py configs/carla_trainset02.py --mode train

To test your model you could use a command like

python ufld.py configs/carla_trainset02.py --mode test

For further examples see HOWTOs

Collecting data from CARLA

CARLA is one way to get training and test data. Sadly CARLA doesn’t provide the required information over its API. As a result it’s quite complicated to generate a dataset from CARLA. We wrote some scripts which make this possible. These are located in a separate project on Github folder. Also have a look on this HOWTO which explains their usage.

HOWTOs

The HOWTOs section provides guides for every common usecase/problem of this application.

If you can’t await it to use this project in your application you can have a look on the HOWTO: Integrate into your project. This will give you an outline, but be warned, you won’t be able to start with this howto without completing the other ones.

Build documentation

The project has to be set up.

  1. Change to docs/

  2. Run make html

Note: To create a docstring rst file use a command like sphinx-apidoc --implicit-namespaces -o source/ ../scripts/ from inside the docs directory.