[PYTHON] Ein Amateur versuchte Deep Learning mit Caffe (Einführung)

Einführung

Dieser Beitrag

  1. Was ist Deep Learning? Übersicht
  2. Installation von Caffe, einer der Deep Learning-Bibliotheken Einführung (dieser Beitrag)
  3. Machen wir ein einfaches Lernen mit Caffe Übung Es besteht aus drei

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)

Installationsumgebung

OS:Ubuntu 14.04 LTS CPU: Core i7 2.93GHz GPU: GeForce GTX 960 Speicher: 4 GB

Caffe Installationsverfahren

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

Installation allgemeiner Abhängigkeiten

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

Verbleibende Abhängigkeiten installieren (für 14.04)

Dies folgt auch gehorsam der Formel

python


sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

ATLAS-Installation

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

CUDA-Installation (nur für GPU-Benutzer)

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)

Installation der CUDA-Haupteinheit

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

Installation von cudnn

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.

Benutzer Registration

Registrieren Sie sich als Entwickler auf der nvidia-Entwicklerseite oben.

Installation

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

Installieren Sie Caffe

Nachdem die Vorbereitungen abgeschlossen sind, werde ich sie sofort einfügen (vorausgesetzt, die erforderlichen Elemente rund um Python werden separat vorbereitet).

Laden Sie Caffe herunter

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

Installieren Sie, was Sie für PyCaffe benötigen

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

Ändern Sie Makefile.config

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

machen

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

Führen Sie den Test aus, um festzustellen, ob er erfolgreich installiert wurde

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.

schließlich

Danke für Ihre Unterstützung. Im nächsten Artikel möchte ich Deep Learning mit Caffe ausführen.

Recommended Posts

Ein Amateur versuchte Deep Learning mit Caffe (Einführung)
Ein Amateur versuchte Deep Learning mit Caffe (Übung)
Ein Amateur hat Deep Learning mit Caffe ausprobiert (Übersicht)
Ich habe versucht, mit Theano tief zu lernen
Ich habe versucht, tief zu lernen
Ich habe versucht, das Objekterkennungs-Tutorial mit dem neuesten Deep-Learning-Algorithmus auszuführen
Eine Einführung in das maschinelle Lernen
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Einführung von Kaffee mit Pyenv
Einführung in Deep Learning ~ Lernregeln ~
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Einführung in Deep Learning ~ Backpropagation ~
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 1
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 2
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 3
Ich habe versucht, ein Deep-Learning-Modell von TensorFlow mit TensorFlow Serving zu hosten
Ein Amateur stolperte in Deep Learning von Grund auf neu. Hinweis: Kapitel 7
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 1
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 4
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 4
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 2
Einführung in das tiefe Lernen ~ Funktionsnäherung ~
Einführung in Deep Learning ~ Codierungsvorbereitung ~
Ich habe versucht, mit PyBrain verstärkt zu lernen
Einführung in Deep Learning ~ Dropout Edition ~
Einführung in Deep Learning ~ Forward Propagation ~
Einführung in Deep Learning ~ CNN Experiment ~
Einführung in Deep Learning ~ Falten und Pooling ~
Eine Einführung in OpenCV für maschinelles Lernen
Bilderkennungsmodell mit Deep Learning im Jahr 2016
Aktienkursprognose mit Deep Learning (TensorFlow)
[Kaggle] Ich habe versucht, Ensemble mit LightGBM zu lernen
[Python] Wenn ein Amateur mit dem maschinellen Lernen beginnt
Ich habe versucht, Pytorchs Deep-Learning-Modell mit TorchServe auf Amazon SageMaker zu hosten
Eine Einführung in Python für maschinelles Lernen
Tiefes Lernen
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Deep Learning-Anfänger versuchten die Wettervorhersage aus meteorologischen Satellitenbildern mit Keras
Ich habe die gängige Geschichte der Vorhersage des Nikkei-Durchschnitts mithilfe von Deep Learning (Backtest) ausprobiert.
Einführung in Deep Learning (1) --Chainer wird Anfängern leicht verständlich erklärt.
[Python] Deep Learning: Ich habe versucht, Deep Learning (DBN, SDA) ohne Verwendung einer Bibliothek zu implementieren.
Ich habe versucht, die Strichzeichnung mit Deep Learning aus dem Bild zu extrahieren
Eine Einführung in maschinelles Lernen für Bot-Entwickler
Eine Einführung in Cython, ohne tief zu gehen
Aktienkursprognose mit Deep Learning (TensorFlow) -Teil 2-
Einführung in Deep Learning ~ Lokalisierungs- und Verlustfunktion ~
[Kausalsuche / Kausalinferenz] Führen Sie mit Deep Learning eine Kausalsuche (SAM) durch
Aktienkursprognose mit Deep Learning [Datenerfassung]
Einführung in Cython ohne tief zu gehen -2-
[Einführung] Stärkung des Lernens
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
[Pokemon-Schwertschild] Ich habe versucht, die Urteilsgrundlage des tiefen Lernens anhand der Drei-Familien-Klassifikation als Beispiel zu visualisieren
Denken Sie über Party-Attack-ähnliche Wachstumstaktiken mit Deep Learning nach