Το Tensorflow είναι ίσως η μεγαλύτερη machine learning βιβλιοθήκη που υπάρχει αυτή τη στιγμή. Όσοι ασχολείστε με τον τομέα αυτό όμως, θα γν...

Εγκατάσταση CUDA για GPU υποστήριξη στο Tensorflow

Το Tensorflow είναι ίσως η μεγαλύτερη machine learning βιβλιοθήκη που υπάρχει αυτή τη στιγμή. Όσοι ασχολείστε με τον τομέα αυτό όμως, θα γνωρίζετε ότι οι επεξεργαστές (CPUs) δεν είναι το αποτελεσματικότερο εργαλείο για την επίτευξη γρήγορων χρόνων εκπαίδευσης. Αυτό συμβαίνει επειδή σε ένα νευρωνικό δίκτυο για παράδειγμα υπάρχουν χιλιάδες απλοί υπολογισμοί που πρέπει να γίνουν. Οι κάρτες γραφικών (GPU) είναι καλύτερες γι αυτή τη δουλειά επειδή διαθέτουν χιλιάδες απλούς πυρήνες σε αντίθεση με τον επεξεργαστή.

Στο παρακάτω ιστόγραμμα φαίνεται η τεράστια διαφορά σε χρόνο εκπαίδευσης του επεξεργαστή Xeon (ίσως του καλύτερου αυτή τη στιγμή) με κάποιες Nvidia κάρτες γραφικών. Η διαφορά υπέρ των καρτών γραφικών είναι χαοτική και σε πραγματικά προβλήματα μπορεί να μεταφράσετε ακόμα και σαν μήνες εκπαίδευσης διαφορά!




Για να μπορέσουμε να τρέξουμε κώδικα στη κάρτα γραφικών (ανεξάρτητα από το αν αυτό θα είναι τελικά machine learning ή όχι), χρειαζόμαστε μία κάρτα γραφικών που να πληρεί τις προδιαγραφές (δείτε εδώ ποιες κάρτες υποστηρίζονται) και τη CUDA εγκατεστημένη. Στο fedora η διαδικασία ήταν σχετικά περίπλοκη αν και πλέον με το Negativo’s Repo έγινε πολύ απλή. 

Αρχικά πρέπει να διαγράψουμε τους παλιούς drivers που έχουμε και ότι πιθανόν να υπάρχει ήδη από cuda δίνοντας: 


dnf remove xorg-x11-drv-nvidia  # 1Gb of stuff disappears
dnf remove cuda-repo-*

rm -rf /usr/local/cuda*
# And remove the reminants of any other blind-alleys you've previously gone down...

Για να ελέγξουμε ότι η κάρτα γραφικών μας αναγνωρίζεται από το λειτουργικό σύστημα δίνουμε 

sudo lspci | grep -i NVIDIA
Στην απάντηση πρέπει να φαίνεται το όνομά της. 

Στη συνέχεια προσθέτουμε το Negativo αποθετήριο δίνοντας: 


dnf config-manager --add-repo=http://negativo17.org/repos/fedora-nvidia.repo

Τέλος κάνουμε εγκατάσταση τα πακέτα που απαιτούνται: 

dnf install kernel-devel dkms-nvidia  nvidia-driver-cuda
dnf install cuda-devel cuda-cudnn-devel

Μετά από την επανεκκίνηση δίνοντας την εντολή sudo lsmod | grep nv θα πρέπει να παίρνουμε κάτι σαν το παρακάτω:

# sudo lsmod  | grep nv
nvidia_drm             49152  0
nvidia_modeset        790528  1 nvidia_drm
nvidia_uvm            749568  0
nvidia              11911168  2 nvidia_modeset,nvidia_uvm
drm_kms_helper        151552  2 i915,nvidia_drm
drm                   344064  4 i915,nvidia_drm,drm_kms_helper

Για να εγκαταστήσουμε το Tensorflow τώρα πρέπει να ακολουθήσουμε τις οδηγίες που υπάρχουν στο site του tensorflow

Ενδεικτικά αν υποθέσουμε ότι έχουμε την python 3.5 εγκατεστημένη και θέλουμε την έκδοση 1.01 του tensorflow , αρκεί να δώσουμε: 

sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.1-cp35-cp35m-linux_x86_64.whl








0 σχόλια: