[PYTHON] Ich habe Caffe installiert, damit ich Deep Learning mit MAC OS X El Capitan durchführen kann

Einführung

Dies ist eine Geschichte über einen Amateur, der Deep Learning verwenden wollte und Caffe installiert hat (CPU_only-Modus). Ich konnte die Informationen für Mac OS 10.11 nicht finden, daher werde ich sie als Memorandum notieren.

(1) Installationsumgebung (2) Vorbereitung für die Installation (3) Installationsverfahren (4) Tatsächlich aufgetretene Fehler und deren Umgang (5) Referenzierte Site

Sie sind in der obigen Reihenfolge aufgeführt. Grundsätzlich verweise ich auf OS X-Installation auf der offiziellen Website von Caffe.

(1) Installationsumgebung

OS:Mac OSX El Capitan (10.11.6) CPU: Core i5 1.6GHz GPU: Intel HD Graphics 6000 1536 MB Speicher: 8 GB

(2) Vorbereitung für die Installation

Ich habe Home-Brew, Pyenv und Anaconda installiert.

■ Home-brew Installation gemäß offizieller Home-Brew-Website.

■ Pyenv und Anaconda

Ich habe auf den folgenden Artikel verwiesen. Hinweise von der Installation von Homebrew zum Erstellen einer Anaconda-Umgebung für Python mit pyenv

(3) Installationsverfahren

Befolgen Sie die offiziellen Mac-Installationsanweisungen von Caffe und geben Sie den folgenden Befehl in Ihr Terminal ein:

3-1: Abhängigkeitsinstallation

■ General dependencies Das Homebrew-Repository (Homebrew / Wissenschaft) wird hinzugefügt und jede Formel (Leveldb, Gflags, Glog, Schiff, lmdv, hdf5, opencv, openblas) wird installiert.

brew install -vd snappy leveldb gflags glog ship lmdv
# need the homebrew science source for OpenCV and hdf5
brew tap homebrew/science
brew install hdf5 opencv

Wenn ich keine openblas gesetzt habe, habe ich am Ende einen Fehler erhalten, daher halte ich es für eine gute Idee, ihn hier zu platzieren.

brew install openblas

■ Verbleibende Abhängigkeiten mit Python

Installieren Sie jede Formel (Protobuf, Boost, Boost-Python).

# with Python pycaffe needs dependencies built from source
brew install --build-from-source --with-python -vd protobuf
brew install --build-from-source -vd boost boost-python

3-2: Hinzufügung der Definition in die Formel

Starten Sie einen Editor im Terminal, um jede Formel zu bearbeiten (bissige leveldb protobuf gflags glog szip boost boost-python lmdb opencv).

for x in snappy leveldb protobuf gflags glog szip boost boost-python lmdb homebrew/science/opencv; do brew edit $x; done

Suchen Sie den Abschnitt def install und fügen Sie die folgenden Elemente hinzu:

      # ADD THE FOLLOWING:
      ENV.append "CXXFLAGS", "-stdlib=libstdc++"
      ENV.append "CFLAGS", "-stdlib=libstdc++"
      ENV.append "LDFLAGS", "-stdlib=libstdc++ -lstdc++"
      # The following is necessary because libtool likes to strip LDFLAGS:
      ENV["CXX"] = "/usr/bin/clang++ -stdlib=libstdc++"

3-3: caffe herunterladen

git clone https://github.com/BVLC/caffe.git

3-4: Erstellen und Bearbeiten der Datei Makefile.config

■ Erstellen von Makefile.config

Erstellen Sie Makefile.config, indem Sie Makefile.config.sample kopieren.

cp Makefile.config.example Makefile.config

■ Wechseln Sie in den Modus CPU_only

Um es in den CPU_only-Modus zu versetzen, in Zeile 8 der Datei Makefile.config,

  CPU_ONLY := 1  #Nicht kommentiert, um in den CPU-Modus zu wechseln

■ Ändern Sie den Pfad von openblas

Suchen Sie den Ort Ihres openblas-Pfades und füllen Sie ihn aus. Das Folgende ist ein Beispiel.

  BLAS_INCLUDE := /usr/local/cellar/openblas/0.2.18_2/include
  BLAS_LIB := /usr/local/cellar/openblas/0.2.18_2/lib

■ Ändern Sie den Python-Pfad

Öffnen Sie die Datei Makefile.config und übergeben Sie sie über den Python-Pfad. Ändern Sie usr / lib / in PYTHON_INCLUDE in usr / local / lib. (Bestätigung: Ich habe Anaconda oben platziert, aber ich übergebe den Pfad zu Python. Ist das in Ordnung?)

PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/local/lib/python2.7/dist-packages/numpy/core/include

3-5: Erstellen und testen

Gehen Sie zurück zur Caffe-Hierarchie und bauen Sie mit make all. Wenn Sie eine Fehlermeldung erhalten, beheben Sie diesen Teil. Wenn keine Fehler vorliegen, führen Sie den Test aus.

cd caffe
make all
make test
make runtest

Wenn es kein Problem gibt, wird es wie unten gezeigt "PASSED".

[ RUN      ] MVNLayerTest/1.TestForwardMeanOnly
[       OK ] MVNLayerTest/1.TestForwardMeanOnly (0 ms)
[----------] 6 tests from MVNLayerTest/1 (714 ms total)

[----------] Global test environment tear-down
[==========] 1096 tests from 150 test cases ran. (62049 ms total)
[  PASSED  ] 1096 tests.

(4) Tatsächlich aufgetretene Fehler und deren Umgang

■ Fehler aufgrund eines falschen Python-Pfads

·Fehlermeldung

/bin/sh: /usr/local/cuda/bin/nvcc: No such file or directory
awk: syntax error at source line 1
 context is
	{exit  >>>  < <<<  7.0;}
awk: illegal statement at source line 1

· Problemumgehung Öffnen Sie die Datei Makefile.config und übergeben Sie sie über den Python-Pfad. Ändern Sie usr / lib / in PYTHON_INCLUDE in usr / local / lib. (Bestätigung: Ich habe Anaconda oben platziert, aber ich übergebe den Pfad zu Python. Ist das in Ordnung?)

PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/local/lib/python2.7/dist-packages/numpy/core/include

■ Fehler aufgrund fehlenden Protobuf

·Fehlermeldung

PROTOC src/caffe/proto/caffe.proto
make: protoc: No such file or directory
make: *** [.build_release/src/caffe/proto/caffe.pb.cc] Error 1

· Problemumgehung

brew install --build-from-source --with-python -vd protobuf

■ Fehler aufgrund fehlender Openblas

·Fehlermeldung

XX src/caffe/blob.cpp
In file included from src/caffe/blob.cpp:7:
In file included from ./include/caffe/util/math_functions.hpp:11:
./include/caffe/util/mkl_alternate.hpp:14:10: fatal error: 'cblas.h' file not found
#include <cblas.h>
         ^
1 error generated.
make: *** [.build_release/src/caffe/blob.o] Error 1

· Problemumgehung

brew install openblas

■ Fehler aufgrund eines falschen Openblas-Pfads

·Fehlermeldung

CXX src/caffe/blob.cpp
In file included from src/caffe/blob.cpp:7:
In file included from ./include/caffe/util/math_functions.hpp:11:
./include/caffe/util/mkl_alternate.hpp:14:10: fatal error: 'cblas.h' file not found
#include <cblas.h>
         ^
1 error generated.
make: *** [.build_release/src/caffe/blob.o] Error 1

· Problemumgehung Überprüfen Sie die Position Ihres Openblas-Pfads und füllen Sie ihn aus (Beispiel unten).

  BLAS_INCLUDE := /usr/local/cellar/openblas/0.2.18_2/include
  BLAS_LIB := /usr/local/cellar/openblas/0.2.18_2/lib

(5) Referenzierte Site

offizielle Website zum Selbstbrauen Hinweise von der Installation von Homebrew zum Erstellen einer Anaconda-Umgebung für Python mit pyenv Offizielle Website von Caffe | Installation von OS X Amateur hat Deep Learning mit Caffe ausprobiert (Einführung) Installiertes Caffe unter OS X 10.10 protoc: No such file or directory when running make all on MAC


Recommended Posts

Ich habe Caffe installiert, damit ich Deep Learning mit MAC OS X El Capitan durchführen kann
Verwenden von NAOqi 2.4.2 Python SDK mit Mac OS X El Capitan
Ich habe MNIST mit Caffe gelernt und versucht, es zu zeichnen (MAC OS X El Capitan)
Installieren Sie matplotlib unter OS X El Capitan
Installiert aws-cli Unter Mac OS X Lion
Installation von TensorFlow 0.11.0rc2 unter OS X El Capitan (10.11.6)
Deep Learning Kurs, der vor Ort zerquetscht werden kann
Wenn der Import von tkinter unter Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1 nicht möglich ist.
Hinweise zur Vorbereitung der Python-Entwicklungsumgebung unter Mac OS X.
Installieren Sie Sphinx unter MacOSX
Installieren Sie mitmproxy unter Mac OS X.
Ich habe versucht, Linux auf meinem Mac zu installieren
Installieren Sie pgmagick unter Mac OS X 10.9
Ich habe versucht, Kivy in einer Mac-Umgebung zu installieren
Führen Sie NASA CEA unter Mac OS X aus
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Erstellen einer R-Umgebung mit Jupyter (ehemals IPython-Notebook) (unter OS X El Capitan 10.11.3)
Führen Sie den Qiita API v2 Python-Wrapper in einer Python 3-Umgebung aus (Mac OS X 10.11 (El Capitan)).
Führen Sie Zookeeper x Python (Kazoo) unter Mac OS X aus
Shpinx (Python Document Builder) unter Mac OS X.
Ich habe den Deep Learning Framework Chainer installiert
Ich habe versucht, mit Python (Mac OS X) eine Umgebung für maschinelles Lernen zu erstellen.