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.
OS:Mac OSX El Capitan (10.11.6) CPU: Core i5 1.6GHz GPU: Intel HD Graphics 6000 1536 MB Speicher: 8 GB
Ich habe Home-Brew, Pyenv und Anaconda installiert.
■ Home-brew Installation gemäß offizieller Home-Brew-Website.
Ich habe auf den folgenden Artikel verwiesen. Hinweise von der Installation von Homebrew zum Erstellen einer Anaconda-Umgebung für Python mit pyenv
Befolgen Sie die offiziellen Mac-Installationsanweisungen von Caffe und geben Sie den folgenden Befehl in Ihr Terminal ein:
■ 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
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
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++"
git clone https://github.com/BVLC/caffe.git
Erstellen Sie Makefile.config, indem Sie Makefile.config.sample kopieren.
cp Makefile.config.example Makefile.config
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
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
Ö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
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.
·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
·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
·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
·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
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