[PYTHON] J'ai installé Caffe pour pouvoir faire du Deep Learning avec MAC OS X El Capitan

introduction

Il s'agit d'une histoire sur un amateur qui voulait utiliser Deep Learning et a installé Caffe (mode CPU_only). Je n'ai pas trouvé les informations pour Mac OS 10.11, je vais donc en prendre note sous forme de mémorandum.

(1) Environnement d'installation (2) Préparation à l'installation (3) Procédure d'installation (4) Erreurs réellement rencontrées et comment les traiter (5) Site référencé

Ils sont répertoriés dans l'ordre ci-dessus. En gros, je me réfère à Installation d'OS X sur le site officiel de Caffe.

(1) Environnement d'installation

OS:Mac OSX El Capitan (10.11.6) CPU: Core i5 1.6GHz GPU: Intel HD Graphics 6000 1536 MB Mémoire: 8 Go

(2) Préparation à l'installation

J'ai installé Home-brew, Pyenv et Anaconda.

■ Home-brew Installez selon le site officiel de home-brew.

■ Pyenv et Anaconda

J'ai fait référence à l'article suivant. Note de l'installation de Homebrew à la création d'un environnement Anaconda pour Python avec pyenv

(3) Procédure d'installation

Entrez la commande suivante dans le terminal selon la méthode d'installation officielle de Caffe sur Mac.

3-1: Installation des dépendances

■ General dependencies Le référentiel homebrew (homebrew / science) est ajouté et chaque formule (leveldb, gflags, glog, ship, lmdv, hdf5, opencv, openblas) est installée.

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

Si je n'ai pas mis openblas, j'ai eu une erreur à la fin, donc je pense que c'est une bonne idée de le mettre ici.

brew install openblas

■ Dépendances restantes avec python

Installez chaque formule (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: Ajout de définition dans la formule

Lancez un éditeur dans le terminal pour éditer chaque formule (snappy 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

Recherchez la section d'installation par défaut et ajoutez les éléments suivants:

      # 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: Télécharger caffe

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

3-4: Création et modification du fichier Makefile.config

■ Création de Makefile.config

Créez Makefile.config en copiant Makefile.config.sample.

cp Makefile.config.example Makefile.config

■ Passer en mode CPU_only

Pour le mettre en mode CPU_only, à la ligne 8 du fichier Makefile.config,

  CPU_ONLY := 1  #Non commenté pour passer en mode CPU

■ Changer le chemin d’openblas

Trouvez l'emplacement de votre chemin openblas et remplissez-le. Ce qui suit est un exemple.

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

■ Changer le chemin Python

Ouvrez le fichier Makefile.config et passez-le via le chemin Python. Remplacez usr / lib / dans PYTHON_INCLUDE par usr / local / lib. (Confirmation: j'ai mis Anaconda ci-dessus, mais je le transmets via Python, est-ce que ça va?)

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

3-5: Construire et tester

Revenez à la hiérarchie Caffe et construisez avec make all. Si vous obtenez une erreur, corrigez cette partie. S'il n'y a pas d'erreurs, exécutez pour faire un test d'exécution.

cd caffe
make all
make test
make runtest

S'il n'y a pas de problème, il sera "PASSÉ" comme indiqué ci-dessous.

[ 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) Erreurs réellement rencontrées et comment les traiter

■ Erreur due à un chemin Python incorrect

·Message d'erreur

/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

·Solution de contournement Ouvrez le fichier Makefile.config et passez-le via le chemin Python. Remplacez usr / lib / dans PYTHON_INCLUDE par usr / local / lib. (Confirmation: j'ai mis Anaconda ci-dessus, mais je le transmets via Python, est-ce que ça va?)

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

■ Erreur due à l'absence de protobuf

·Message d'erreur

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

·Solution de contournement

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

■ Erreur due au manque d'openblas

·Message d'erreur

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

·Solution de contournement

brew install openblas

■ Erreur due à un chemin openblas incorrect

·Message d'erreur

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

·Solution de contournement Vérifiez l'emplacement de votre chemin openblas et remplissez-le (exemple ci-dessous)

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

(5) Site référencé

site Web officiel de home-brew Note de l'installation de Homebrew à la création d'un environnement Anaconda pour Python avec pyenv Site Web officiel de Caffe | Installation OS X Un amateur a essayé le Deep Learning en utilisant Caffe (Introduction) Installé Caffe sur OS X 10.10 protoc: No such file or directory when running make all on MAC


Recommended Posts

J'ai installé Caffe pour pouvoir faire du Deep Learning avec MAC OS X El Capitan
Utilisation du SDK NAOqi 2.4.2 Python avec Mac OS X El Capitan
J'ai appris MNIST avec Caffe et j'ai essayé de le dessiner (MAC OS X El Capitan)
Installez matplotlib sur OS X El Capitan
Aws-cli installé sur Mac OS X Lion
Installation de TensorFlow 0.11.0rc2 sur OS X El Capitan (10.11.6)
Cours de Deep Learning pouvant être écrasé sur place
Lorsque l'importation de tkinter n'est pas possible avec Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1.
Mémo sur Mac OS X
Installez Sphinx sur MacOSX
Installez mitmproxy sur Mac OS X
J'ai essayé d'installer Linux sur mon Mac
Installez pgmagick sur Mac OS X 10.9
J'ai essayé d'installer Kivy dans un environnement Mac
Exécutez NASA CEA sur Mac OS X
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Création d'un environnement R avec Jupyter (anciennement notebook IPython) (sous OS X El Capitan 10.11.3)
Exécutez le wrapper Python de l'API Qiita v2 dans un environnement Python 3 (Mac OS X 10.11 (El Capitan))
Exécutez Zookeeper x python (kazoo) sur Mac OS X
Shpinx (Python Document Builder) sur Mac OS X
J'ai installé le framework Deep Learning Chainer
J'ai essayé de créer un environnement d'apprentissage automatique avec Python (Mac OS X)