Blog.

Installare Tensorflow-gpu, CUDA Toolkit e cudnn | Windows


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
Guide

tensorflow_gpu_instalaltion_cuda_toolkit_cudann_error_problem_isse_come_risolvere_guida_italiano

In questo veloce post, scoprirai come configurare correttamente il tuo sistema per usufruire della potenza di calcolo della GPU durante i tuoi progetti basati su Tensorflow-gpu.

Iniziamo.

Requisiti

Prima di procedere, assicurati di aver installato python 3.5. Puoi fare un’installazione pulita, oppure creare un Virtual Environment attraverso l’Anaconda Prompt. In questo caso digita: 

conda create -n py35 python=3.5 anaconda

Una volta creato l’ambiente deve essere attivato, usando il comando:

activate py35

Volendo, puoi cambiare il nome “py35” ed usarne uno a tua scelta. Libero di decidere.

Disclaimer

Ci sono una serie di software che ti farò scaricare. Ti consiglio di usare esattamente le versioni indicate, anche se potrebbero essere datate e superate da nuovi aggiornamenti. Questo perché dopo svariati tentativi, la combinazione di versioni qui riportata pare essere l’unica funzionante

Sei comunque libero di fare di testa tua, ovviamente a tuo rischio e pericolo. Procediamo!

Download CUDA ToolKit

CUDA Toolkit 9.0 Downloads | Link – Developer Nvidia

Scarica la versione 9.0 del CUDA Toolkit. Puoi usare due Installer Types, ti consiglio l’exe(network).

Avvia l’eseguibile e segui le indicazioni a schermo. 

Ad un certo punto, in Installation Option, potrai scegliere se effettuare un’installazione Express o Custom. Sporcati le mani, e clicca su Custom.

In Select other component apri il menu a discesa alla voce CUDA e deseleziona Visual Studio integration. Ai nostri fini, è inutile e dal momento che crea problemi nell’installazione evitiamo di installarlo.

Occhio, sto dando per scontato il fatto che tu abbia seguito la mia precedente guida e che quindi sia già presente una versione (la 15.9 v14.16 ) di Visual Studio.

Perfetto. Procedi con l’installazione seguendo le istruzioni riportate a schermo.

Download cudnn

Ora dobbiamo “installare” il secondo requsiito fondamentale per eseguire correttamente la libreria Tensorflow-gpu. Collegati al sito ufficiale di nVidia, crea un account da Developer e scarica il pacchetto *.zip contenente i file di cudnn

cudnn Donwload | Developer nVidia 

Seleziona la versione v7.4.1 per CUDA 9.0. 

Decomprimi l’archivio, ovunque tu voglia. 

“Install” cudnn

Avrai sicuramente notato le apici. In effetti non si tratta di una vera e propria installazione, semplicemente andari a copiare alcuni file nelle giuste cartelle così da far funzionare tutto il sistema. 

Apri la cartella estratta, e in un’altra finestra dell’Esplora risorse la cartella in cui hai installato CUDA Toolkit, che di default dovrebbe trovarsi al percorso:

C:/Program Files/NVIDIA GPU Computing Toolkit

La cartella da cui dovrai prelevare i file è quella di cudnn; quella in cui li dovrai copiare è il percorso di installazione del Toolkit.

Quindi, dalla cartella di CUDA (cudnn) al percorso:

CUDA/lib/x64

Preleva il file:

cudnn.lib

E copialo nella cartella del Toolkit al percorso:


CUDA/v9.0/lib/x64

Poi, preleva secondo file:


CUDA/bin/cudnn64_7.dll 

e copialo in:

CUDA/v9.0/bin

Infine, preleva:


CUDA/include/cudnn.h

e inseriscilo in:


CUDA/v9.0/include

Environment Variables

Assicurati di avere le seguenti variabili d’ambiente impostate:

Sicuramente ne basta una… ma non so quale.

True Story. Servono anche queste, in PATH:


Per aggiungere, nel caso copia da qui.

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

Tensorflow-gpu

Abbiamo già installato Tensorflow nel nostro ambiente virtuale di Anaconda, ma non la versione GPU-compatible.

Quindi, in modo pulito, da Anaconda Prompt digitiamo:

pip uninstall tensorflow
pip install tensorflow-gpu

(occhio che py35 sia attivo, controlla a sx: al posto di ‘base’, ‘py35’)

A questo punto, avremo terminato l’installazione di tutto il necessario e siamo pronti a passare allo step successivo: sporcarsi le mani con un po’ di machine learning!

Alla prossima.

Un caldo abbraccio, Andrea

Taggedguidamachine learningtensorflow


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum