Caffe is the deeplearning common frame, is currently doing CNN the mainstream method, official website reference http://caffe.berkeleyvision.org/
(1) Caffe Introduction:
Caffe has the following features:
- 1 expression: Caffe is mainly composed of modles+optimizations, models explains how each layer of the depth network is defined and connected, generally defined as a. prototxt file, optimization mainly refers to the definition of Caffe solver.
- 2 speed: Relatively fast, is the current state of art's big data processing method.
- 3 Easy to modular expansion, such as the definition of the CNN Network layer module can be used in different jobs.
- 4 Open source, Caffe was developed by Dr. Jiayanqing of Berkeley, and there are many people on GitHub who are optimizing.
- 5 There is a dedicated discussion community. On GitHub you can search for BVLC, which has a way to fix common bugs.
---Personal understanding caffe is similar to solving linear programming problems lingo and GLPK, not code, but a similar text-based approach to define the depth of the network layer definition, and in Solver defined forward propagation and reverse propagation of the pattern, The number of iterations and methods for training and learning for deep networks such as CNN.
(2) Installation of Caffe, http://caffe.berkeleyvision.org/installation.html
The installation of Caffe is more complex,
First step: Install some pre-projects:
- CUDA:GPU Programming tool, Cafffe can be accelerated via Nvidia CUDNN
- BLAS:MKL (for CPU acceleration, free), ATLAS (caffe default), or Openblas (more difficult to install, but parallel acceleration works well)
- boost>1.55
- OpenCV, Python,matlab is an optional installation of programming tools
- Protobuf,glog,gflag * * * These are all definitions of Google's communication protocols.
Unable to find libprotobuf.so.xx error resolution: Use sudo apt-get install LIBPROTOBUF-DV libleveldb-dev. This apt-get statement is installed automatically by default in usr/ Local/lib, there is also a way to install to the current directory, if it is the first method of installation, try to add usr/local/lib to the etc/ld.so.conf file, and then use the Ldconfig command to make the updated dynamic link library take effect
Step Two: Compiling
Make clean clears the previous version of the compiled build file
Make all Recompile
Make Test
Make Runtest
The compilation here is in the Caffe root directory, Caffe-dev or caffe-master execution, caffe instructions need to be executed in Caffe and directory, or will not find the path can not find the error.
(3) The copy of the existing Caffe on the server is used
- Caffe installation is more complex, so if there are other users on the server installed Caffe, we can copy to use, the method is as follows:
- Create your own users, such as sudo adduser cookcoder, (adduser more useful for beginners than useradd commands)
- Login to your own user Cookcoder
- Cp-r Originusrpath/caffe-dev cookcoderpath/caffetest/, the Caffe root directory of other users to copy the package to their own users,
- Recompile, make Clean,make all,make test,make runtest.
Note the 3rd sentence cannot be used with sudo cp .... I was here to make a mistake, Ubuntu in the user rights set strict, directly with the AddUser set up the user's permission is very low, I first was landed originusr, and then use sudo cp to copy his bag to my user's directory, However, when compiling Caffe, it is always an error to find the wrong path. My understanding is: Because of the permissions problem, sudo copy is not complete, so by logging on to my own users, directly with the CP statement to solve the problem
Getting Started with Caffe-introduction, installation, Getting started with copying on the server