WorkStation for deep learning quick setup

Setting Up a Deep Learning Workstation: A Step-by-Step Guide

Deep learning requires a robust workstation with efficient software configurations to maximize performance. Whether you’re setting up a personal rig or a shared system for your research team, this guide walks you through key steps to get everything up and running smoothly.


1. Perform System Updates & Install Essentials

Start by updating your system and installing essential tools:

sudo apt update 
sudo apt upgrade -y
sudo apt install build-essential

This ensures your system is up to date and has necessary development tools.


2. Enable SSH Connection

Remote access is essential for managing your workstation efficiently. To enable SSH, run the following:

sudo apt install openssh-server -y
sudo systemctl status ssh

This allows you to connect securely to your machine from anywhere.


3. Install Git & Tmux

For version control and terminal multiplexing, install Git and Tmux:

sudo apt install install-info git-all
sudo apt install tmux

4. Install NVIDIA Drivers & CUDA for GPU Acceleration

Ensure your system has the latest NVIDIA drivers and CUDA toolkit:

sudo ubuntu-drivers autoinstall
sudo apt install nvidia-cuda-toolkit

Check installation:

nvidia-smi
nvcc --version

If NVIDIA drivers break, you can reset them:

sudo apt purge nvidia*
sudo apt purge libnvidia*
sudo apt autoremove

6. Install Anaconda for Package Management

Anaconda simplifies package and environment management:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x ./Miniconda3-latest-Linux-x86_64.sh
sudo ./Miniconda3-latest-Linux-x86_64.sh

Set installation path to:

/opt/anaconda3

When prompted, do not initialize Anaconda.

Activate and initialize Anaconda for each user upon first login:

source /opt/anaconda3/bin/activate && conda init

7. Configure User Permissions & Create Users

Set up groups and permissions:

sudo groupadd anaconda
sudo groupadd docker
sudo usermod simone -aG docker
sudo usermod simone -aG anaconda

Add new users:

sudo useradd luigi -c "Luigi Sigillo" -G anaconda --create-home -p $(openssl passwd -1 server2025) --shell /bin/bash

Give permissions to the Anaconda directory:

sudo chgrp -R anaconda /opt/anaconda3
sudo chmod 770 -R /opt/anaconda3

8. Install Docker & NVIDIA Container Toolkit

Install Docker:

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Verify installation:

docker run hello-world

10. Monitoring GPU & System Performance

Use these tools to monitor your system:

  • Check GPU usage:

    sudo apt install nvtop
    nvtop
    
  • Monitor system resources:

    htop
    
  • Check disk space:

    sudo du -hd 1 /home | sort -h
    

Conclusion

With this setup, your deep learning workstation will be ready for action, whether you’re training models, experimenting with new architectures, or collaborating with your team. Having a structured approach to software configuration saves time and ensures a stable, high-performance environment.

Happy coding! 🚀