Useful tools for a PhD in Machine Learning

A list of some tools to optimize research and coding

Monitoring tools

GPU-monitoring

The most familiar GPU monitoring tool is nvidia-smi (NVIDIA System Management Interface). Here are some alternatives installed via pip that are more user-friendly.

gpustat

A simpler alternative to nvidia-smi that prints a single line per GPU, with only the most essential information (percentage usage, memory usage and username).
The option -cup will append the user, command and process ID on for each GPU (useful for shared GPU resources between multiple users).

nvitop

An interactive NVIDIA-GPU process viewer, nvitop shows the GPU status like nvidia-smi but with additional bars, history graphs and colouring.

System-monitoring

bpytop

The python version of bashtop that quickly and easily monitor CPU usage, memory usage, disk I/O, network activity, and other important system resources.