SETUP

Computer Specifications:

  • CPU
    • Intel Core i5-9600K @3.7GHz
  • GPU
    • Nvidia GeForce GTX 960
      • Cuda Toolkit version: 9.1
      • Driver Version 418.56
  • RAM
    • 16 Gigabytes DDR4
  • OS
    • Ubuntu 19.04
    • Windows 10

Github Repository

https://github.com/xingyizhou/CenterNet

The Process

The setup for using CenterNet was rather difficult, first and foremost because the program was intended to be used with a Linux system rather than a Windows system. First we tried to use Windows 10's new "Linux within Windows" capability, and while we were able to get everything set up as CenterNet's INSTALL.md intended, we were unable to run the system due to nvidia and CUDA driver issues. After some research we discovered that the while Linux on Windows is local Linux and not a Virtual Machine, it ultimately is not a native Linux kernel. Anyone attempting to replicate this project should make sure to have a native Linux environment set up and ready to go.

This meant that we would first have to solve the issue of the operating system. After much troubleshooting we changed the hard drive settings to enable UEFI and allow for a drive with more than 4 partitions (This was Max's personal computer rig and he didn't want to remove his Windows install). Once that was complete Ubuntu 19.04 was installed on the system as a dual boot.

After this we again followed the installation README (below are some screen shots from that process) and began the fraught process of GPU driver and CUDA toolkit setup.

After several failed setups (some requiring re-installations), we found this site

https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-1-on-Ubuntu-19-04-1405/

which was a massive help in getting things setup. For anybody intending to recreate this project we would like to emphasize that while downloading the latest video driver (in this case 418.56) was fine, pytorch, which is an important package for the CenterNet system, does not support the latest CUDA toolkit (10.1). If following the instructions in the url above, simply switch 10.1 with version 9.1. We originally used 10.1 and encountered errors do to the lack of compatibility between the two packages. Below is our GPU setup. While it still says CUDA 10.1 using "nvidia-smi", using "nvcc --version" shows that it is actually CUDA 9.1 being used.

After getting the environment ready, we then needed to get the data-sets for testing. In the paper they tested 3 different types of models: COCO, Pascal VOC, and KITTI. The COCO and KITTI models required very large downloads that we did not have space for (and the models themselves were outside of the abilities of our GPU), so we elected to evaluate the Pascal VOC models. Luckily, the creators of CenterNet made things easy by providing a .sh script that handled the download and most of the setup.

cd $CenterNet_ROOT/tools/
bash download_pascal_voc.sh

With the environment set up, the proper drivers installed, and the data sets ready, we were able to run the program and begin testing.