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.