nainstalujeme 64 bit ovu verziu ubuntu na 64 bitovy hardware pricom graficku kartu este nevlozime zaktualizujeme: $ sudo apt-get update $ sudo apt-get upgrade nainstalujeme nvidia driver pre graficku kartu (toto je mozne aj vynechat a nechat instalaciu drivera na instalator CUDA, ale toto je istota. je taktiez mozne ze uz mate vhodny driver nainstalovany co sa da aj vidiet podla HD kvality obrazu na monitore.) najprv pri beznom driveri rozbehame pristup cez ssh lebo monitor nemusi po vlozeni grafickej karty vobec fungovat $ sudo apt-get install mc joe $ sudo apt-get install openssh-server $ sudo joe /etc/ssh/sshd_config zmenime UseLogin na yes $ sudo service ssh restart zistime si IP adresu cez $ ifconfig z windowsov sa vieme dostat na stroj pomocou ssh z pouzitime konta usera vytvoreneho pri instalacii a zistenej IP adresy stiahneme si driver z NVIDIA vo forme skriptu http://www.nvidia.com/Download/index.aspx?lang=en-us (show all operating systems a vyberieme Linux 64-bit) napr pre GeForce GTX750 je to NVIDIA-Linux-x86_64-390.25.run $ cd ~/Downloads $ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/390.25/NVIDIA-Linux-x86_64-390.25.run vypneme PC, vlozime kartu, nastartujeme cez ssh ziskame spojenie zlozime X server, napr $ sudo service lightdm stop $ ps -A | grep X 4979 tty7 00:00:01 Xorg $ sudo kill 4979 $ ps -A | grep X $ a spustime skript driveru, napr $ chmod 0777 NVIDIA-Linux-x86_64-334.21.run $ sudo ./NVIDIA-Linux-x86_64-334.21.run vsetko potvrdime kladne Accept, Continue installation $ sudo reboot moze sa pritom stat ze najprv bude skript pozadovat odinstalovat predosly driver. Vtedy ponukne vytvorit skript ktory ho pri reboote odinstaluje, co treba potvrdit a rebootnut. Inokedy ani to nepomoze a treba tento driver odstavit rucne $ sudo joe /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau options nouveau modeset=0 $ sudo update-initramfs -u $ sudo reboot a ideme instalovat deep learning: zakladne baliky (vacsinou mame a su aktualne) $ sudo apt-get install -y build-essential cmake gfortran git pkg-config $ sudo apt-get install -y python-dev software-properties-common wget vim $ sudo apt-get autoremove CUDA zistite si aktualnu verziu tensorflow a k nej zodpovedajucu verziu CUDA (momentalne tensorflow 1.5.0 a k nemu ide CUDA 9.0, hoci uz je dostupna CUDA 9.1) na https://developer.nvidia.com/cuda-downloads vyberieme vhodnu verziu (9.1) Pozor, ponukne vzdy poslednu, treba do Search zadat CUDA Toolkit 9.0 a vyberat spravny download odtial: Linux x86_64 Ubuntu 16.04 deb(local) stiahneme ju z browsera alebo takto cez wget a mv: $ wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb (trva to dlho) $ mv cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb instalujeme: $ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb zadame prikaz na instalaciu kluca ktory vypise dpkg: $ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub OK $ sudo apt-get update $ sudo apt-get install cuda $ sudo apt-get install nvidia-cuda-toolkit restartneme $ reboot alternativne mozeme instalovat CUDA jednoduchsie (pokial nasa verzia ma uz podporu z ubuntu) takto: $ sudo apt-get install cuda-9-0 $ sudo apt-get install nvidia-cuda-toolkit (tento sposob je vyhodny hlavne ak potrebujeme napr nainstalovat CUDA 8.0 ale uz mame CUDA 9.0 - ako starsia verzia bude podporovana a presvedcit balik z nvidie aby urobil downgrade je takmer nemozne) vyskusame ci CUDA funguje $ ls /usr/local | grep cuda- cuda-9.0 $ nvidia-smi $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176 $ cd /usr/local/cuda/samples $ sudo make $ cd 5_Simulations/oceanFFT $ ./oceanFFT instalujeme CUDA Deep Neural Network (cuDNN) z https://developer.nvidia.com/rdp/form/cudnn-download-survey (musime sa zadarmo zaregistrovat) cuDNN v7.0.5 Library for Linux (for CUDA 9.0) z https://developer.nvidia.com/rdp/form/cudnn-download-survey $ wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7 $ mv cudnn-9.0-linux-x64-v7 cudnn-9.0-linux-x64-v7.tgz $ tar xvf cudnn-9.0-linux-x64-v7.tgz $ sudo cp -P cuda/lib64/* /usr/local/cuda/lib64/ $ sudo cp cuda/include/* /usr/local/cuda/include/ doplnime environmentalne premenne CUDA-y $ echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"' >> ~/.bashrc $ echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc $ echo 'export PATH="/usr/local/cuda/bin:$PATH"' >> ~/.bashrc $ echo 'export TF_CPP_MIN_LOG_LEVEL=2' >> ~/.bashrc a aktualne ich nastavime (aby sme sa nemuseli odhlasit a prihlasit) $ source ~/.bashrc overime si $ echo $CUDA_HOME /usr/local/cuda $ echo $TF_CPP_MIN_LOG_LEVEL 2 instalujeme prerekvizity deep learningu $ sudo apt-get update $ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libopencv-dev instalujeme python a jeho zakladne kniznice $ sudo apt-get install -y --no-install-recommends libboost-all-dev doxygen $ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev libblas-dev $ sudo apt-get install -y libatlas-base-dev libopenblas-dev libgphoto2-dev libeigen3-dev libhdf5-dev $ sudo apt-get install -y python-dev python-pip python-nose python-numpy python-scipy $ sudo apt-get install -y python3-dev python3-pip python3-nose python3-numpy python3-scipy overime $ python --version $ python3 --version instalujeme virtualne prostredia pre Python (je to vyhodne z hladiska citlivosti kerasu ne verzie urcitych kniznic, vdaka comu by pri updatoch inych softwarov mohol prestat fungovat) $ sudo pip2 install virtualenv virtualenvwrapper $ sudo pip3 install virtualenv virtualenvwrapper $ echo "# Virtual Environment Wrapper" >> ~/.bashrc $ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc $ source ~/.bashrc dalej predpokladame ze pre Keras budeme vyuzivat python3: vytvorime virtualne prostredie $ mkvirtualenv keras -p python3 aktivujeme ho $ workon keras instalujeme numpy (kniznica implementujuca viac rozmerne polia, tzv. tenzory) (keras)$ pip install numpy scipy matplotlib scikit-image scikit-learn ipython protobuf jupyter h5py instalujeme kniznicu impelemtnujucu umele neuronove siete (backend) (keras)$ pip install tensorflow-gpu keby to robilo drahoty, ze ziadna verzia nesedi, je mozne presviedcat: (keras)$ pip install --ignore-installed --upgrade tensorflow-gpu pripadne zadat konkretnu a nizsiu verziu (aktualna je 1.5.0) (keras)$ pip install --ignore-installed --upgrade "tensorflow-gpu==1.3.0" (keras)$ pip install --ignore-installed --upgrade "tensorflow-gpu<1.5.0" ale taketo spravanie skor indikuje problem s niektorym vyssie uvedenym krokom po instalacii tensorflow skontrolujeme: (keras) $ python3 >>> import tensorflow as tf nesmie hodit fail >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() keby to tu zacalo nadavat, dobre si precitajte ci je to vobec chyba, ale pri TF_CPP_MIN_LOG_LEVEL=2 by to hlasky o tom ze vas hardware nie je plne vyuzity hadzat nemalo >>> print(sess.run(hello)) b'Hello, TensorFlow!' z pythonu odideme cez >>> quit() (pouzite vzdy ked v navode skoncia >>>) na dokladnejsi test stiahneme (keras)$ wget https://gist.githubusercontent.com/mrry/ee5dbcfdd045fa48a27d56664411d41c/raw/5966d71d4356b91d96f3e4c3f18b657848110a23/tensorflow_self_check.py (keby sa link zmenil, hladajte cez internetovy vyhladavac tensorflow_self_check.py na github-e) (keras)$ python3 tensorflow_self_check.py TensorFlow successfully installed. The installed version of TensorFlow includes GPU support. keby sa nepodarilo tensorflow rozbehat na gpu, da sa (ale to uz nie je celkom ono) pouzit len CPU: (keras) C:\>pip uninstall tensorflow-gpu (keras) C:\>pip install tensorflow (keras)$ pip install Theano (keras)$ pip install keras (keras)$ pip install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp35-cp35m-manylinux1_x86_64.whl (keras)$ pip install dlib (keras)$ pip install opencv-contrib-python vyskusame: (keras) C:\>python3 >>> import cv2 >>> nesmie hodit chybu odist z virutalneho prostredia potom mozeme (keras)$ deactivate $