-
Notifications
You must be signed in to change notification settings - Fork 29
Installing Caffe [English]
Lewis edited this page Jun 13, 2024
·
1 revision
IMPORTANT: This installation has not been widely tested.
TO DO: Verify if --no-install-recommends is necessary.
sudo apt-get install --no-install-recommends \
build-essential \
cmake \
git \
libgoogle-glog-dev \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopenmpi-dev \
libsnappy-dev \
libprotobuf-dev \
openmpi-bin \
openmpi-doc \
protobuf-compiler \
python-dev \
python-pip \
libgflags-dev \
libgoogle-glog-dev \
liblmdb-dev
cd ~/packages_carmen
wget "https://sourceforge.net/projects/openblas/files/v0.3.0/OpenBLAS%200.3.0%20version.tar.gz/download" -O openblas-0.3.0.tar.gz
tar -vzxf openblas-0.3.0.tar.gz
cd xianyi-OpenBLAS-939452e/
make
sudo make install
One-liner command:
cd ~/packages_carmen && wget "https://sourceforge.net/projects/openblas/files/v0.3.0/OpenBLAS%200.3.0%20version.tar.gz/download" -O openblas-0.3.0.tar.gz && tar -vzxf openblas-0.3.0.tar.gz && cd xianyi-OpenBLAS-939452e/ && make && sudo make install
Note: The -DCUDA_ARCH_BIN="XX" parameter specifies the GPU architecture.
To find the GPU architecture:
cd /usr/local/cuda-9.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
Look for the line "CUDA Capability Major/Minor version number". Ignore the dot; for example, if the value is 3.0, use 30 for the -DCUDA_ARCH_BIN cmake parameter.
cd $CARMEN_HOME/sharedlib/ENet/caffe-enet
mkdir build && cd build
cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="50" -DCUDA_ARCH_PTX="" ..
make all -j 20
make pycaffe
One-liner command:
cd $CARMEN_HOME/sharedlib/ENet/caffe-enet && mkdir build && cd build && cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="61" -DCUDA_ARCH_PTX="" .. && make all -j 20 && make pycaffe
If you encounter the following error:
CMake Warning at /home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message):
Found OpenCV Windows Pack but it has no binaries compatible with your
configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
example/mnist/CMakeLists.txt:2 (find_package)
CMake Error at example/mnist/CMakeLists.txt:2 (find_package):
Found package configuration file:
/home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
Delete the contents of the build folder to remove configuration files and rerun the cmake command, including the path to the OpenCV build folder:
rm -rf $CARMEN_HOME/sharedlib/ENet/caffe-enet/build/*
cd $CARMEN_HOME/sharedlib/ENet/caffe-enet/build
cmake -DBLAS=open -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="50" -DCUDA_ARCH_PTX="" -D OpenCV_DIR=<PASTA ONDE VOCÊ BAIXOU A OPENCV>/opencv-3.1.0/build/ ..
make all -j 20
make pycaffe
If other errors occur at this stage, consult our FAQ.
#Caffe ENet
export CAFFE_ENET_HOME=$CARMEN_HOME/sharedlib/ENet/caffe-enet
export CAFFE_HOME=$CAFFE_ENET_HOME
export PYTHONPATH=$CAFFE_ENET_HOME/python:$PYTHONPATH
export LD_LIBRARY_PATH=$CAFFE_ENET_HOME/build/lib:$LD_LIBRARY_PATH
export GLOG_minloglevel=1
ls $CAFFE_ENET_HOME/include/caffe/proto/caffe.pb.h
If it does not exist, follow these steps:
cd $CAFFE_ENET_HOME
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto/
One-liner command:
cd $CAFFE_ENET_HOME && protoc src/caffe/proto/caffe.proto --cpp_out=. && mkdir include/caffe/proto && mv src/caffe/proto/caffe.pb.h include/caffe/proto/