Dieser Beitrag
Obwohl es auch im Titel enthalten ist, handelt es sich um einen Beitrag über eine Aufzeichnung, die von einem Amateur hinterlassen wurde, der weder ein Deep Learning-Forscher noch irgendetwas ist. Bitte verzeihen Sie mir eine falsche Beschreibung und lesen Sie sie. (Wenn etwas nicht stimmt, würde ich es begrüßen, wenn Sie in den Kommentaren darauf hinweisen könnten)
OS:Ubuntu 14.04 LTS CPU: Core i7 2.93GHz GPU: GeForce GTX 960 Speicher: 4 GB
Gehen Sie grundsätzlich wie auf der offiziellen Seite von Caffe beschrieben vor. Hier ist die Konfiguration wie folgt, aber bitte ändern Sie sie entsprechend der Umgebung. CUDA 7.0 benutze cudnn ATLAS Caffe (neueste Version von Github Master) Stellen Sie PyCaffe zur Verfügung
Folgen Sie gehorsam der Formel
python
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
Dies folgt auch gehorsam der Formel
python
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
Was ist ATLAS? Es fühlt sich an wie, aber eine Bibliothek zur numerischen Berechnung (wahrscheinlich Differenzierung der Matrix) Einfach mit Ubuntu
python
sudo apt-get install libatlas-base-dev
Es heißt, dass Sie apt-get für Ubuntu verwenden können, aber unter verschiedenen Gesichtspunkten scheint es besser, es vom nVidia-Beamten zu nehmen und es selbst einzutragen, also habe ich beschlossen, es selbst einzutragen. (Das neueste scheint 7.5 zu sein, aber ich denke, es ist dasselbe wie 7.0, also werde ich es so schreiben, wie es ist)
Wechseln Sie von nvidia developer site zu CUDA ZONE → CUDA DOWNLOADS, um das CUDA-Installationsprogramm zu löschen. Führen Sie dann das Installationsprogramm aus (ersetzen Sie xxx durch die Version, die Sie gelöscht haben).
python
chmod +x cuda_xxx_linux.run
sudo ./cuda_xxx_linux.run
Alles was Sie tun müssen, ist den Anweisungen auf dem Bildschirm zu folgen
Es scheint nicht erforderlich zu sein, aber laut dem Beamten ist es schneller, es einzulegen, also setzen Sie es ein.
cuDNN Caffe: for fastest operation Caffe is accelerated by drop-in integration of NVIDIA cuDNN. To speed up your Caffe models, install cuDNN then uncomment the USE_CUDNN := 1 flag in Makefile.config when installing Caffe. Acceleration is automatic. The current version is cuDNN v3; older versions are supported in older Caffe.
Registrieren Sie sich als Entwickler auf der nvidia-Entwicklerseite oben.
Nach der Registrierung steht cudnn zum Download zur Verfügung. Laden Sie es daher von hier herunter. Dann
python
sudo cp cudnn.h /usr/local/cuda/include/
sudo cp *.so /usr/local/cuda/lib64/
sudo cp *.a /usr/local/cuda/lib64/
Kopieren Sie die Bibliothek als Darüber hinaus ist der gleiche symbolische Link in der extrahierten Datei, Erstellen Sie es in / usr / local / cuda / lib64 (Folgendes ist zum Zeitpunkt des Downloads 6.5)
python
cd /usr/local/cuda/lib64/
sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5 libcudnn.so
Nachdem die Vorbereitungen abgeschlossen sind, werde ich sie sofort einfügen (vorausgesetzt, die erforderlichen Elemente rund um Python werden separat vorbereitet).
Es ist hier aus irgendeinem Grund nicht offiziell geschrieben, aber es scheint offiziell zu sein, es von Github zu streichen
git clone https://github.com/BVLC/caffe.git
Wie offiziell
python
for req in $(cat requirements.txt); do pip install $req; done
Das ist es. require.txt ist in caffe / python Ich hatte kein Gfortran in meiner Umgebung, daher konnte ich scipy einmal installieren.
python
error: Setup script exited with error: library dfftpack has Fortran sources but no Fortran compiler found
In diesem Fall fügen Sie bitte gfortran ein.
python
sudo apt-get install gfortran
Das ist wichtig. Wenn Sie hier einen Fehler machen, können Sie versuchen, mit etwas zu bauen, das nicht existiert, oder Sie sind süchtig nach dem Fehlertopf. Kopieren Sie zunächst Makefile.config.example, um den Prototyp von Makefile.config zu erstellen.
python
cp Makefile.config.example Makefile.config
Stellen Sie sicher, dass Makefile.config folgendermaßen aussieht: (Bitte je nach Umgebung ändern) USE_CUDNN: = 1 (bei Verwendung von cudnn) CPU_ONLY: = 1 (bei Verwendung der GPU auskommentieren) CUDA_DIR: = / usr / local / cuda (wird für CPU_ONLY wahrscheinlich nicht benötigt) Keine der Zeilen in CUDA_ARCH: = -gencode arch = compute ... ist auskommentiert (wahrscheinlich auskommentiert, wenn CPU_ONLY) BLAS := atlas PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include PYTHON_LIB := /usr/lib Der Rest bleibt als Beispiel
Es wird bald nach dem oben genannten sein. Machen Sie an der Wurzel des Projekts (Ohne den j8-Teil ist es in Ordnung. Bitte ändern Sie die Anzahl entsprechend der Anzahl der CPU-Kerne.)
python
make all -j8
Ich werde einen letzten Test machen, um sicherzustellen, dass es genau hier gemacht wird
python
make runtest
Ein Protokoll wie das folgende dauert einige Minuten
python
[----------] 3 tests from DeconvolutionLayerTest/0, where TypeParam = caffe::CPUDevice<float>
[ RUN ] DeconvolutionLayerTest/0.TestSetup
[ OK ] DeconvolutionLayerTest/0.TestSetup (0 ms)
[ RUN ] DeconvolutionLayerTest/0.TestSimpleDeconvolution
[ OK ] DeconvolutionLayerTest/0.TestSimpleDeconvolution (1 ms)
[ RUN ] DeconvolutionLayerTest/0.TestGradient
[ OK ] DeconvolutionLayerTest/0.TestGradient (623 ms)
[----------] 3 tests from DeconvolutionLayerTest/0 (624 ms total)
Wenn Sie wie folgt PASSIERT werden, sind Sie erfolgreich.
python
[==========] 1404 tests from 222 test cases ran. (221949 ms total)
[ PASSED ] 1404 tests.
Wenn dies fehlschlägt, überprüfen Sie, ob die Einstellungen für Makefile.config korrekt sind, und versuchen Sie es erneut.
Danke für Ihre Unterstützung. Im nächsten Artikel möchte ich Deep Learning mit Caffe ausführen.
Recommended Posts