Bu yazı www.openzeka.com sitesinden alınmıştır. Derin öğrenme eğitimine katıldığım sırada Nvidia Digits ve ilgili kütüphanelerin kurulu için aşağıdaki sh’ı incelemenizi öneririm. Lütfne unutmayın, aşağıdaki sh’ı kendi geliştirme ortamınıza göre customize etmeniz gerekiyor.
# Uzak sunucuda karakter kaynaklı hataları gidermek için aşağıdaki komutları çalıştırınız. echo 'export LC_CTYPE=en_US.UTF-8' >> ~/.bashrc echo 'export LC_ALL=en_US.UTF-8' >> ~/.bashrc source ~/.bashrc # Sistem güncelleme sudo apt-get update && sudo apt-get -y upgrade # Cuda kurulumu wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb mv cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64-deb cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get -y install cuda-8-0 #CUDA dizinlerini .bashrc dosyasına eklemek aşağıdaki satırları çalıştırın. echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc echo 'export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}' >> ~/.bashrc # Cudnn Kurulumu cudnn-8.0-linux-x64-v6.0.tgz dosyasını aşağıdaki adresden indiriniz. wget http://developer.download.nvidia.com/compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0.tgz # İndirdikten sonra dosyayı indirdiğiniz dizinde aşağıdaki komutu çalıştırınız. Eğer dosya inmiyorsa kayıt olup indirmeyi deneyiniz. tar -zxf cudnn-8.0-linux-x64-v6.0.tgz cd cuda sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/ sudo cp -P include/* /usr/local/cuda-8.0/include/ # Aşağıdaki iki satırda olduğu gibi bir hata mesajı alırsanız aşağıda belirtilen 4 satırdaki işlemi yapınız # /sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link # /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1 sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1 ##Cuda test # cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery # sudo make # ./deviceQuery ##Cuda test cd ~ ##NCLL-birden fazla GPU varsa http://docs.nvidia.com/deeplearning/sdk/nccl-install-guide/index.html ## #wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb #sudo dpkg -i nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb #sudo apt-get update #sudo apt-get install libnccl2=2.1.4-1+cuda8.0 libnccl-dev=2.1.4-1+cuda8.0 ##NCLL son## cd ~ ##DIGITS Kurulumu sudo apt-get install --no-install-recommends git graphviz python-dev python-flask python-flaskext.wtf python-gevent python-h5py python-numpy python-pil python-pip python-scipy -y #Caffe Kurulumu sudo apt-get install --no-install-recommends build-essential cmake git gfortran libatlas-base-dev libboost-filesystem-dev libboost-python-dev libboost-system-dev libboost-thread-dev libgflags-dev libgoogle-glog-dev libhdf5-serial-dev libleveldb-dev liblmdb-dev libopencv-dev libsnappy-dev python-all-dev python-dev python-h5py python-matplotlib python-numpy python-opencv python-pil python-pip python-scipy python-skimage python-sklearn python-setuptools python-tk -y #Protobuf kurulumu (https://github.com/NVIDIA/DIGITS/blob/master/docs/BuildProtobuf.md) sudo apt-get install autoconf automake libtool curl make g++ git python-dev python-setuptools unzip -y export PROTOBUF_ROOT=~/protobuf git clone https://github.com/google/protobuf.git $PROTOBUF_ROOT -b '3.3.x' cd $PROTOBUF_ROOT ./autogen.sh ./configure make "-j$(nproc)" sudo make install sudo ldconfig cd python sudo python setup.py install --cpp_implementation #Test başarılı ise protobuf hazır # Pip update cd ~ pip update wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz tar -xzvf pip-9.0.1.tar.gz cd pip-9.0.1 sudo python setup.py install ######################### #Yeni eklenen kütüphaneler # OpenBlasın ayrıca derlenmesi performans artışı sağlayabilir. hızlı kurulum için aşağıdaki komut yeterli olacaktır. sudo apt-get install libboost-all-dev libturbojpeg libopenblas-dev -y cd ~ export CAFFE_ROOT=~/caffe echo 'export CAFFE_ROOT=~/caffe' >> ~/.bashrc git clone https://github.com/NVIDIA/caffe.git $CAFFE_ROOT sudo pip install -r $CAFFE_ROOT/python/requirements.txt #hata alırsan https://github.com/NVIDIA/DIGITS/blob/master/docs/BuildCaffe.md adresine bak cd $CAFFE_ROOT cp Makefile.config.example Makefile.config sudo sed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.config #Çoklu GPU detseği istenirse # sudo sed -i 's/# USE_NCCL := 1/USE_NCCL := 1/' Makefile.config # Enable with python layer sudo sed -i 's/# WITH_PYTHON_LAYER := 1/WITH_PYTHON_LAYER := 1/' Makefile.config # Eğer hdf5 hatası alınırsa # Add hdf5 library path and dir # echo 'INCLUDE_DIRS += /usr/include/hdf5/serial' >> Makefile.config # echo 'LIBRARY_DIRS += /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial' >> Makefile.config mkdir build cd build cmake .. make --jobs $(nproc) make install #Caffe Kurulum bitti #Torch Kurulumu cd ~ sudo apt-get install --no-install-recommends git software-properties-common -y export TORCH_ROOT=~/torch echo 'export TORCH_ROOT=~/torch' >> ~/.bashrc git clone https://github.com/torch/distro.git $TORCH_ROOT --recursive cd $TORCH_ROOT ./install-deps ./install.sh -b source ~/.bashrc sudo apt-get install --no-install-recommends libhdf5-serial-dev liblmdb-dev -y luarocks install tds luarocks install dpnn luarocks install "https://raw.github.com/deepmind/torch-hdf5/master/hdf5-0-0.rockspec" luarocks install "https://raw.github.com/Neopallium/lua-pb/master/lua-pb-scm-0.rockspec" luarocks install lightningmdb 0.9.18.1-1 LMDB_INCDIR=/usr/include LMDB_LIBDIR=/usr/lib/x86_64-linux-gnu # If you have installed NCCL # luarocks install "https://raw.githubusercontent.com/ngimel/nccl.torch/master/nccl-scm-1.rockspec" cd ~ DIGITS_ROOT=~/digits echo 'export DIGITS_ROOT=~/digits' >> ~/.bashrc git clone https://github.com/NVIDIA/DIGITS.git $DIGITS_ROOT sudo pip install -r $DIGITS_ROOT/requirements.txt sudo pip install -e $DIGITS_ROOT #Text Classification sudo pip install $DIGITS_ROOT/plugins/data/textClassification sudo pip install $DIGITS_ROOT/plugins/view/textClassification #The Sunnybrook plug-in sudo pip install $DIGITS_ROOT/plugins/data/sunnybrook/ #Jupyter Notebook kurulumu: http://blog.impiyush.com/2015/02/running-ipython-notebook-server-on-aws.html #https://github.com/mGalarnyk/Installations_Mac_Ubuntu_Windows/blob/master/AWS/Part_4_IPython_Notebook_Server_on_AWS_EC2_Instance.ipynb sudo apt-get -y install ipython ipython-notebook sudo pip install jupyter #itorch kurulumu cd ~ sudo apt-get install -y libssl-dev luarocks install lzmq git clone https://github.com/facebook/iTorch.git cd iTorch luarocks make cd ~ jupyter notebook --generate-config mkdir certs cd certs sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem #Sorulan sorulara cevap olarak aşağıdaki gibi cevap verin ve entera basın #Country Name (2 letter code) [AU]:TR #State or Province Name (full name) [Some-State]:Ankara #Locality Name (eg, city) []:. #Organization Name (eg, company) [Internet Widgits Pty Ltd]:. #Organizational Unit Name (eg, section) []:. #Common Name (e.g. server FQDN or YOUR name) []:. #Email Address []:. cd ~/.jupyter/ nano jupyter_notebook_config.py #Dosyanın en üstüne aşağıdakileri yaz ve kaydet ##############basla c = get_config() c.IPKernelApp.pylab = 'inline' c.NotebookApp.certfile = u'/home/openzeka/certs/mycert.pem' c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.password = u'sha1:c6a94092eed9:aaa1432e3651a0af955c513b92d2e2c0bbc78e7d' c.NotebookApp.port = 8888 #############bitir #nohup jupyter notebook #cd ~/caffe/examples #jupyter notebook #Çalışıyorsa herşey hazır demektir. # Şifreyle ilgili kısım bilgi maksatlı # şifre: openzeka # 'sha1:c6a94092eed9:aaa1432e3651a0af955c513b92d2e2c0bbc78e7d' #Crontab #Aşağıdaki dosyayı start-digits.sh olarak kaydet cd ~ pico start-digits.sh #Aşağıdaki içeriği dosyaya kaydet ###basla #!/bin/bash export CAFFE_ROOT=/home/openzeka/caffe export TORCH_ROOT=/home/openzeka/torch . /home/openzeka/torch/install/bin/torch-activate cd /home/openzeka/digits ./digits-devserver ##bitir chmod +x start-digits.sh #### #Aşağıdaki dosyayı start-jupyter.sh olarak kaydet pico start-jupyter.sh #Aşağıdaki içeriği dosyaya kaydet ###basla #!/bin/bash PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin cd ~/caffe/examples jupyter notebook ##bitir chmod +x start-jupyter.sh crontab -e #2 seç ve entera bas aşağıdakileri sayfa sonuna ekle @reboot /home/openzeka/start-digits.sh > /home/openzeka/digits.log 2>&1 @reboot /home/openzeka/start-jupyter.sh > /home/openzeka/jupyter.log 2>&1