Coding Period: Week 1

1 minute read

Preliminaries

During the community bonding period, I prepared the tools for use in coding period. The tools now support training, evaluation and comparison of models in various ways. I further made changes to my PR’s according to the discussion with the mentors. Next, I will start the work on optimizing the models. I will start with models trained in TensorFlow library TF model link. This week focus is on the architectures - PilotNet and DeepestLSTMTinyPilotNet. After setting a baseline on my personal computer, I will start experiments to optimize the models with TensorRT [3]. I also received access to Nvidia 1080 GPU machine, which would be used later for experiments.

Objectives

  • Update previous PR’s according to requested changes.
  • Test access to GPU server.
  • PilotNet baseline - Calculate loss (regression), inference time (script and BehaviorNet)
  • DeepestLSTMTinyPilotNet baseline - Calculate loss (regression), inference time (script and BehaviorNet)
  • PilotNet optimization experiment with TensorRT
  • DeepestLSTMTinyPilotNet optimization experiment with TensorRT

Issues and Pull requests.

The execution

I follow the data split defined in paper Memory based neural networks for end-to-end autonomous driving. The baseline was calculate using dataset based on circuits - Simple circuit, Montmeló and Montreal. I came across an error regarding cuda Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0. It took me quite some time to solve the issue and install new cuda package, which was too time consuming. I need to reinstall the complete GPU (cuda) environment from scratch and found suitable instructions in the blog and some independent articles for Ubuntu 18.04 and Cuda 11.4. A preliminary table to record baseline performances on only simple circuit dataset:

Model Loss MSE Mean Absolute Error Inference time
PilotNet 0.014 0.014 0.077 0.0735 sec

Due to the major blockage with cuda environment, the other unfinished goals will be completed in next week. My code for evaluating the performance of PilotNet can be found in a separate branch baseline-exp.

References

[1] https://github.com/JdeRobot/BehaviorMetrics
[2] https://github.com/JdeRobot/DeepLearningStudio
[3] https://developer.nvidia.com/tensorrt