Dat wil ook zeggen dat alle Python programma's en toebehoren weer geïnstalleerd moeten worden. Zojuist bezig geweest met de GPU en CuDNN ondersteuning voor deep learning projecten. Dat was vorige keer een flinke klus en hoewel het nu iets sneller gaat zitten er toch een hoop haken en ogen aan. Maar weer even vastleggen.
Python had ik al wat eerder geïnstalleerd. Ook Theano werkt wel maar dus zonder de GPU ondersteuning.
Ik start met deze pagina:
http://deeplearning.net/software/theano/tutorial/using_gpu.html
Och ja, ik moet de .theanorc file aanmaken op de root (/usr/local) en aanpassen. Dat ging met de tekst editor 'vi'.
Het blijft lastig om de commando's te herinneren als je hem weinig gebruikt. Met 'i' kom je in de insert mode. Met escape --> ':wq' Schrijf je de aanpassingen weg.
[global]
device = cuda
floatX = float32
Het werkt nog niet. (ImportError: No module named pygpu) Ik probeer tevergeefs 'device = cpu0'. Hmm ... pygpu ... Ik zie dat er een nieuwe manier is om de GPU aan te spreken.Dat staat hier beschreven:
https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29
Als eerste wordt verwezen naar
http://deeplearning.net/software/libgpuarray/installation.html#step-by-step-install-system-library-as-admin
Daar moet eerst cmake 3.8.0 geïnstalleerd worden (cmake.org) Ik installeer de laatste versie. Vervolgens haal ik de laatste CUDA versie (8.0.61) op van de nvidea site. OpenCL zoek ik ook maar dat wordt in de drivers van de grafische kaart al bijgeleverd.
De download van libgpuarray met 'git' gaat goed. De volgende stappen geven wat issues. Met name cmake kent hij niet als commando in de terminal. Ik herinner mij dat ik dat vorige keer ook via het cmake userwindow heb uitgevoerd.
Na de selectie van de directories en configure en generate weer terug naar het script. Daar moet de make en de make install worden uitgevoerd. Hij geeft helaas aan dat hij de library 'cython' niet kan vinden wat ik gelukkig met 'pip install cython' kan verhelpen.
De 'python setup.py build' en 'pyhton setup.py install' lijken zonder problemen te werken.
Helaas geeft Theano nog steeds een foutmelding:
"clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated"
Het lukt mij niet om de melding weg te krijgen. Ergens in de installatie heb ik blijkbaar iets fout gedaan.
Ik probeer het op de 'oude manier'. Schakelen tussen nieuw en oud gaat zo (in .theanorc): Use
device=cuda
or cuda0
, ... instead of gpu.
Yes !!! Dat lijkt gelukkig te lukken. Ik haal nu ook Cudnn 8.0 v 5.1 op van de nvidea site. Door weer de cudnn files naar de juiste folders in cuda te zetten (zie eerder bericht) lukt het om ook cuDNN actief te krijgen. Wel moet ik weer de paden aangeven die gebruikt moeten worden.
Ik gebruik de info vanuit hier:
https://coolestguidesontheplanet.com/add-shell-path-osx/
en creëer met vi een .bash_profile om de paden fixed te laten opstarten.
export PATH="/usr/local/cuda/bin/:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10). Please switch to the gpuarray backend. You can get more information about how to switch at this URL:
https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29
Wel is de warning wat zorgelijk. Misschien later toch nog eens die @@#$% gpuarray aan de praat zien te krijgen.
Geen opmerkingen:
Een reactie posten